From: Scott Worley Date: Tue, 10 Oct 2023 06:04:17 +0000 (-0700) Subject: client: create_press() → add_press() X-Git-Tag: v0.1.0~33 X-Git-Url: http://git.scottworley.com/tattlekey/commitdiff_plain/f68e05b24686490605df455a66704909c84ea606 client: create_press() → add_press() --- diff --git a/client/press.c b/client/press.c index 7a7f996..56d95ea 100644 --- a/client/press.c +++ b/client/press.c @@ -25,16 +25,14 @@ press_pile_t *create_press_pile() { return pp; } -void create_press(press_pile_t *pp, uint32_t timestamp, u16_t seq) { +void add_press(press_pile_t *pp, press_t *press) { pheap_node_id_t i = ph_new_node(pp->sleeps_heap); if (i == 0) { /* TODO: Don't drop new presses just because sleeps_heap is full of old * presses. */ return; } - pp->presses[i].timestamp = timestamp; - pp->presses[i].seq = seq; - pp->presses[i].send_count = 0; + pp->presses[i] = *press; ph_insert_node(pp->sleeps_heap, i); } diff --git a/client/press.h b/client/press.h index cd34b3d..898bb1a 100644 --- a/client/press.h +++ b/client/press.h @@ -17,7 +17,9 @@ typedef struct { press_pile_t *create_press_pile(); -void create_press(press_pile_t *pp, uint32_t timestamp, u16_t seq); +/* Adds this press to the pile. + * Copies the contents of `press`. */ +void add_press(press_pile_t *pp, press_t *press); /* When do we next need to send something (in seconds since boot)? * Returns -1 if there's nothing pending. */ diff --git a/client/tattlekey.c b/client/tattlekey.c index 2f64323..88bdd91 100644 --- a/client/tattlekey.c +++ b/client/tattlekey.c @@ -102,7 +102,7 @@ void service_queue() { queue_remove_blocking(&queue, &e); switch (e.type) { case NEW_BUTTON_PRESS: { - create_press(pp, e.buttonpress.timestamp, seq++); + add_press(pp, &(press_t){e.buttonpress.timestamp, seq++, 0}); } break; case RESEND_TIME: { /* OK, we're awake. Cool. Thanks! (We actually do the sends in the