void test_queue_peek_tail(void) { Queue *queue; /* Check peeking into an empty queue */ queue = queue_new(); assert(queue_peek_tail(queue) == NULL); queue_free(queue); /* Pop off all the values from the queue, making sure that peek * has the correct value beforehand */ queue = generate_queue(); while (!queue_is_empty(queue)) { assert(queue_peek_tail(queue) == &variable1); assert(queue_pop_tail(queue) == &variable1); assert(queue_peek_tail(queue) == &variable2); assert(queue_pop_tail(queue) == &variable2); assert(queue_peek_tail(queue) == &variable3); assert(queue_pop_tail(queue) == &variable3); assert(queue_peek_tail(queue) == &variable4); assert(queue_pop_tail(queue) == &variable4); } assert(queue_peek_tail(queue) == NULL); queue_free(queue); }
static bool store_prep_data(struct bt_gatt_server *server, uint16_t handle, uint16_t offset, uint16_t length, uint8_t *value) { struct prep_write_data *prep_data = NULL; /* * Now lets check if prep write is a continuation of long write * If so do aggregation of data */ prep_data = queue_peek_tail(server->prep_queue); if (prep_data && (prep_data->handle == handle) && (offset == (prep_data->length + prep_data->offset))) return append_prep_data(prep_data, handle, length, value); return prep_data_new(server, handle, offset, length, value); }
int oldest_entry_moving_average(Moving_Average *self){ return *((int *)queue_peek_tail(self->data)); }