MINOR: buffer: add br_count() to return the number of allocated bufs
We have no way to know how many buffers are currently allocated in a
buffer ring. Let's add br_count() for this.
diff --git a/include/haproxy/buf.h b/include/haproxy/buf.h
index 417ff9c..1136a6a 100644
--- a/include/haproxy/buf.h
+++ b/include/haproxy/buf.h
@@ -1016,6 +1016,17 @@
return r->data + 1 == r->head || r->data + 1 == r->head - 1 + r->size;
}
+/* Returns the number of buffers present */
+static inline unsigned int br_count(const struct buffer *r)
+{
+ BUG_ON_HOT(r->area != BUF_RING.area);
+
+ if (r->data >= r->head)
+ return r->data - r->head + 1;
+ else
+ return r->data + r->size - r->head;
+}
+
/* Returns the index of the ring's head buffer */
static inline unsigned int br_head_idx(const struct buffer *r)
{