diff options
author | irungentoo <irungentoo@gmail.com> | 2014-11-20 21:30:16 -0500 |
---|---|---|
committer | irungentoo <irungentoo@gmail.com> | 2014-11-20 21:30:16 -0500 |
commit | 057f08fb135656e13fff0fd48557b699fb65fd5c (patch) | |
tree | 7c2e42a48f7a73f94268cef66e5097e880c6c084 /toxcore/onion_client.c | |
parent | 1ef2092bcca76158b6ea0675c9e07fef166363b6 (diff) |
Tox clients now should show they are offline with much better precision.
Diffstat (limited to 'toxcore/onion_client.c')
-rw-r--r-- | toxcore/onion_client.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/toxcore/onion_client.c b/toxcore/onion_client.c index d22b2c8b..fda230b7 100644 --- a/toxcore/onion_client.c +++ b/toxcore/onion_client.c | |||
@@ -572,6 +572,8 @@ static int handle_announce_response(void *object, IP_Port source, const uint8_t | |||
572 | return 1; | 572 | return 1; |
573 | } | 573 | } |
574 | 574 | ||
575 | //TODO: LAN vs non LAN ips?, if we are connected only to LAN, are we offline? | ||
576 | onion_c->last_packet_recv = unix_time(); | ||
575 | return 0; | 577 | return 0; |
576 | } | 578 | } |
577 | 579 | ||
@@ -1104,8 +1106,10 @@ int onion_set_friend_online(Onion_Client *onion_c, int friend_num, uint8_t is_on | |||
1104 | onion_c->friends_list[friend_num].is_online = is_online; | 1106 | onion_c->friends_list[friend_num].is_online = is_online; |
1105 | 1107 | ||
1106 | /* This should prevent some clock related issues */ | 1108 | /* This should prevent some clock related issues */ |
1107 | if (!is_online) | 1109 | if (!is_online) { |
1108 | onion_c->friends_list[friend_num].last_noreplay = 0; | 1110 | onion_c->friends_list[friend_num].last_noreplay = 0; |
1111 | onion_c->friends_list[friend_num].run_count = 0; | ||
1112 | } | ||
1109 | 1113 | ||
1110 | return 0; | 1114 | return 0; |
1111 | } | 1115 | } |
@@ -1332,6 +1336,9 @@ int onion_isconnected(const Onion_Client *onion_c) | |||
1332 | { | 1336 | { |
1333 | unsigned int i, num = 0, announced = 0; | 1337 | unsigned int i, num = 0, announced = 0; |
1334 | 1338 | ||
1339 | if (is_timeout(onion_c->last_packet_recv, ONION_OFFLINE_TIMEOUT)) | ||
1340 | return 0; | ||
1341 | |||
1335 | for (i = 0; i < MAX_ONION_CLIENTS; ++i) { | 1342 | for (i = 0; i < MAX_ONION_CLIENTS; ++i) { |
1336 | if (!is_timeout(onion_c->clients_announce_list[i].timestamp, ONION_NODE_TIMEOUT)) { | 1343 | if (!is_timeout(onion_c->clients_announce_list[i].timestamp, ONION_NODE_TIMEOUT)) { |
1337 | ++num; | 1344 | ++num; |