]>
git.scottworley.com Git - tattlekey/blob - client/press.c
49b2b9a875eb9473c1b794de0be1eb976fe8338f
3 static uint32_t next_send(press_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 press_t
*presses
= (press_t
*)user_data
;
10 return next_send(&presses
[a
]) < next_send(&presses
[b
]);
13 void create_press(press_t
*presses
, pheap_t
*sleeps_heap
, uint32_t timestamp
,
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 presses
[i
].timestamp
= timestamp
;
23 presses
[i
].send_count
= 0;
24 ph_insert_node(sleeps_heap
, i
);
27 int32_t next_scheduled_send(press_t
*presses
, pheap_t
*sleeps_heap
) {
28 pheap_node_id_t i
= ph_peek_head(sleeps_heap
);
31 return next_send(&presses
[i
]);