]>
git.scottworley.com Git - tattlekey/blob - client/sends.c
0125bf2bb0142fc5b4736f63210697b0c7281b81
3 static uint32_t next_send(send_t
*s
) {
4 return s
->timestamp
+ (1 << s
->send_count
) - 1;
7 bool next_send_less_than(void *user_data
, pheap_node_id_t a
,
9 send_t
*sends
= (send_t
*)user_data
;
10 return next_send(&sends
[a
]) < next_send(&sends
[b
]);
13 void create_send(send_t
*sleeping_sends
, pheap_t
*sleeps_heap
,
14 uint32_t timestamp
, u16_t seq
) {
15 pheap_node_id_t i
= ph_new_node(sleeps_heap
);
17 /* TODO: Don't drop new presses just because sleeps_heap is full of old
21 sleeping_sends
[i
].timestamp
= timestamp
;
22 sleeping_sends
[i
].seq
= seq
;
23 sleeping_sends
[i
].send_count
= 0;
24 ph_insert_node(sleeps_heap
, i
);
27 int32_t next_scheduled_send(send_t
*sleeping_sends
, pheap_t
*sleeps_heap
) {
28 pheap_node_id_t i
= ph_peek_head(sleeps_heap
);
31 return next_send(&sleeping_sends
[i
]);