rb_clear initial
This commit is contained in:
parent
d19917bba7
commit
41f817fd5b
2 changed files with 15 additions and 0 deletions
|
@ -45,6 +45,14 @@ rb_destroy(struct RingBuf *rb, void(free)())
|
||||||
free(rb->buffer);
|
free(rb->buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
rb_clear(struct RingBuf *rb)
|
||||||
|
{
|
||||||
|
rb->count = 0;
|
||||||
|
rb->write_head = rb->buffer;
|
||||||
|
rb->read_head = rb->buffer;
|
||||||
|
}
|
||||||
|
|
||||||
enum WriteResult
|
enum WriteResult
|
||||||
rb_push_back(struct RingBuf *rb, const void *item, MEMCPY_T memcpy_fn)
|
rb_push_back(struct RingBuf *rb, const void *item, MEMCPY_T memcpy_fn)
|
||||||
{
|
{
|
||||||
|
|
|
@ -39,6 +39,13 @@ enum ReadResult { Empty, ReadOk }; /** Result of a read */
|
||||||
void rb_init(struct RingBuf *rb, rb_size_t capacity, ALLOC_T alloc,
|
void rb_init(struct RingBuf *rb, rb_size_t capacity, ALLOC_T alloc,
|
||||||
rb_size_t struct_size);
|
rb_size_t struct_size);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Clear the ring buffer
|
||||||
|
* @details This function will reset the read and write heads to the beginning
|
||||||
|
* of the buffer, and set the count to 0. It will not free the buffer.
|
||||||
|
* @param rb The ring buffer
|
||||||
|
*/
|
||||||
|
void rb_clear(struct RingBuf *rb);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Insert data to the ring buffer
|
* @brief Insert data to the ring buffer
|
||||||
|
|
Loading…
Reference in a new issue