summaryrefslogtreecommitdiff
path: root/core/Messenger.c
diff options
context:
space:
mode:
authorirungentoo <irungentoo@gmail.com>2013-08-20 14:47:32 -0400
committerirungentoo <irungentoo@gmail.com>2013-08-20 14:47:32 -0400
commitac621d96d3139ca09eeebd509d6f6b92380f4f41 (patch)
tree497a4e5866f0f8d11f98b5e413b24cc650aab1df /core/Messenger.c
parenta1c40d753ee8faf15aa0dd314bd4249aa3750b2e (diff)
Refactor of core done.
Diffstat (limited to 'core/Messenger.c')
-rw-r--r--core/Messenger.c18
1 files changed, 6 insertions, 12 deletions
diff --git a/core/Messenger.c b/core/Messenger.c
index 25a4ff98..a6cbb3ac 100644
--- a/core/Messenger.c
+++ b/core/Messenger.c
@@ -22,7 +22,6 @@
22 */ 22 */
23 23
24#include "Messenger.h" 24#include "Messenger.h"
25#include "timer.h"
26 25
27#define MIN(a,b) (((a)<(b))?(a):(b)) 26#define MIN(a,b) (((a)<(b))?(a):(b))
28 27
@@ -608,17 +607,17 @@ int write_cryptpacket_id(Messenger *m, int friendnumber, uint8_t packet_id, uint
608 return write_cryptpacket(m->net_crypto, m->friendlist[friendnumber].crypt_connection_id, packet, length + 1); 607 return write_cryptpacket(m->net_crypto, m->friendlist[friendnumber].crypt_connection_id, packet, length + 1);
609} 608}
610 609
611
612/*Interval in seconds between LAN discovery packet sending*/ 610/*Interval in seconds between LAN discovery packet sending*/
613#define LAN_DISCOVERY_INTERVAL 60 611#define LAN_DISCOVERY_INTERVAL 60
614#define PORT 33445 612#define PORT 33445
615 613
616/*Send a LAN discovery packet every LAN_DISCOVERY_INTERVAL seconds*/ 614/*Send a LAN discovery packet every LAN_DISCOVERY_INTERVAL seconds*/
617int LANdiscovery(timer *t, void *arg) 615static void LANdiscovery(Messenger *m)
618{ 616{
619 send_LANdiscovery(htons(PORT), temp_net_crypto); 617 if (m->last_LANdiscovery + LAN_DISCOVERY_INTERVAL < unix_time()) {
620 timer_start(t, LAN_DISCOVERY_INTERVAL); 618 send_LANdiscovery(htons(PORT), m->net_crypto);
621 return 0; 619 m->last_LANdiscovery = unix_time();
620 }
622} 621}
623 622
624/* run this at startup */ 623/* run this at startup */
@@ -655,9 +654,6 @@ Messenger *initMessenger(void)
655 set_nospam(&(m->fr), random_int()); 654 set_nospam(&(m->fr), random_int());
656 init_cryptopackets(m->dht); 655 init_cryptopackets(m->dht);
657 656
658 send_LANdiscovery(htons(PORT), m->net_crypto);
659 timer_single(&LANdiscovery, 0, LAN_DISCOVERY_INTERVAL);
660
661 return m; 657 return m;
662} 658}
663 659
@@ -885,7 +881,6 @@ void doInbound(Messenger *m)
885 } 881 }
886} 882}
887 883
888
889/* the main loop that needs to be run at least 20 times per second. */ 884/* the main loop that needs to be run at least 20 times per second. */
890void doMessenger(Messenger *m) 885void doMessenger(Messenger *m)
891{ 886{
@@ -895,8 +890,7 @@ void doMessenger(Messenger *m)
895 do_net_crypto(m->net_crypto); 890 do_net_crypto(m->net_crypto);
896 doInbound(m); 891 doInbound(m);
897 doFriends(m); 892 doFriends(m);
898 893 LANdiscovery(m);
899 timer_poll();
900} 894}
901 895
902/* returns the size of the messenger data (for saving) */ 896/* returns the size of the messenger data (for saving) */