summaryrefslogtreecommitdiff
path: root/py/ringbuf.c
diff options
context:
space:
mode:
authorDan Halbert <halbert@halwitz.org>2020-04-21 22:40:12 -0400
committerDan Halbert <halbert@halwitz.org>2020-04-21 22:40:12 -0400
commitfbc8719fadbffd9b3e4ba1ceb42182c4370d0621 (patch)
treea5cc1cda9749f4748786ec86512567d49455fe71 /py/ringbuf.c
parent77cd93ac2d8ebce240055caf81f1b6bdd7c9bfcc (diff)
ringbuf tested
Diffstat (limited to 'py/ringbuf.c')
-rw-r--r--py/ringbuf.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/py/ringbuf.c b/py/ringbuf.c
index 70245461f..c19f1d44b 100644
--- a/py/ringbuf.c
+++ b/py/ringbuf.c
@@ -37,6 +37,12 @@ bool ringbuf_alloc(ringbuf_t *r, size_t capacity, bool long_lived) {
return r->buf != NULL;
}
+void ringbuf_free(ringbuf_t *r) {
+ gc_free(r->buf);
+ r->size = 0;
+ ringbuf_clear(r);
+}
+
size_t ringbuf_capacity(ringbuf_t *r) {
return r->size - 1;
}
@@ -72,12 +78,12 @@ void ringbuf_clear(ringbuf_t *r) {
}
// Number of free slots that can be written.
-size_t ringbuf_free(ringbuf_t *r) {
+size_t ringbuf_num_empty(ringbuf_t *r) {
return (r->size + r->iget - r->iput - 1) % r->size;
}
// Number of bytes available to read.
-size_t ringbuf_avail(ringbuf_t *r) {
+size_t ringbuf_num_filled(ringbuf_t *r) {
return (r->size + r->iput - r->iget) % r->size;
}