summaryrefslogtreecommitdiff
path: root/core/ping.c
diff options
context:
space:
mode:
Diffstat (limited to 'core/ping.c')
-rw-r--r--core/ping.c27
1 files changed, 14 insertions, 13 deletions
diff --git a/core/ping.c b/core/ping.c
index 5da3c0ca..4bb9c38a 100644
--- a/core/ping.c
+++ b/core/ping.c
@@ -29,12 +29,12 @@ typedef struct {
29 size_t pos_pings; 29 size_t pos_pings;
30} PING; 30} PING;
31 31
32void * new_ping(void) 32void *new_ping(void)
33{ 33{
34 return calloc(1, sizeof(PING)); 34 return calloc(1, sizeof(PING));
35} 35}
36 36
37void kill_ping(void * ping) 37void kill_ping(void *ping)
38{ 38{
39 free(ping); 39 free(ping);
40} 40}
@@ -44,9 +44,9 @@ static bool is_timeout(uint64_t time)
44 return (time + PING_TIMEOUT) < now(); 44 return (time + PING_TIMEOUT) < now();
45} 45}
46 46
47static void remove_timeouts(void * ping) // O(n) 47static void remove_timeouts(void *ping) // O(n)
48{ 48{
49 PING * png = ping; 49 PING *png = ping;
50 size_t i, id; 50 size_t i, id;
51 size_t new_pos = png->pos_pings; 51 size_t new_pos = png->pos_pings;
52 size_t new_num = png->num_pings; 52 size_t new_num = png->num_pings;
@@ -69,9 +69,9 @@ static void remove_timeouts(void * ping) // O(n)
69 png->pos_pings = new_pos % PING_NUM_MAX; 69 png->pos_pings = new_pos % PING_NUM_MAX;
70} 70}
71 71
72uint64_t add_ping(void * ping, IP_Port ipp) // O(n) 72uint64_t add_ping(void *ping, IP_Port ipp) // O(n)
73{ 73{
74 PING * png = ping; 74 PING *png = ping;
75 size_t p; 75 size_t p;
76 76
77 remove_timeouts(ping); 77 remove_timeouts(ping);
@@ -93,9 +93,10 @@ uint64_t add_ping(void * ping, IP_Port ipp) // O(n)
93 return png->pings[p].id; 93 return png->pings[p].id;
94} 94}
95 95
96bool is_pinging(void * ping, IP_Port ipp, uint64_t ping_id) // O(n) TODO: replace this with something else. 96bool is_pinging(void *ping, IP_Port ipp, uint64_t ping_id) // O(n) TODO: replace this with something else.
97{ 97{
98 PING * png = ping; 98 PING *png = ping;
99
99 if (ipp.ip.i == 0 && ping_id == 0) 100 if (ipp.ip.i == 0 && ping_id == 0)
100 return false; 101 return false;
101 102
@@ -115,7 +116,7 @@ bool is_pinging(void * ping, IP_Port ipp, uint64_t ping_id) // O(n) TODO: repl
115 return false; 116 return false;
116} 117}
117 118
118int send_ping_request(void * ping, Net_Crypto *c, IP_Port ipp, clientid_t *client_id) 119int send_ping_request(void *ping, Net_Crypto *c, IP_Port ipp, clientid_t *client_id)
119{ 120{
120 pingreq_t pk; 121 pingreq_t pk;
121 int rc; 122 int rc;
@@ -169,9 +170,9 @@ int send_ping_response(Net_Crypto *c, IP_Port ipp, clientid_t *client_id, uint64
169 return sendpacket(c->lossless_udp->net->sock, ipp, (uint8_t *) &pk, sizeof(pk)); 170 return sendpacket(c->lossless_udp->net->sock, ipp, (uint8_t *) &pk, sizeof(pk));
170} 171}
171 172
172int handle_ping_request(void * object, IP_Port source, uint8_t *packet, uint32_t length) 173int handle_ping_request(void *object, IP_Port source, uint8_t *packet, uint32_t length)
173{ 174{
174 DHT * dht = object; 175 DHT *dht = object;
175 pingreq_t *p = (pingreq_t *) packet; 176 pingreq_t *p = (pingreq_t *) packet;
176 int rc; 177 int rc;
177 uint64_t ping_id; 178 uint64_t ping_id;
@@ -197,9 +198,9 @@ int handle_ping_request(void * object, IP_Port source, uint8_t *packet, uint32_t
197 return 0; 198 return 0;
198} 199}
199 200
200int handle_ping_response(void * object, IP_Port source, uint8_t *packet, uint32_t length) 201int handle_ping_response(void *object, IP_Port source, uint8_t *packet, uint32_t length)
201{ 202{
202 DHT * dht = object; 203 DHT *dht = object;
203 pingres_t *p = (pingres_t *) packet; 204 pingres_t *p = (pingres_t *) packet;
204 int rc; 205 int rc;
205 uint64_t ping_id; 206 uint64_t ping_id;