+ struct btr_buffer_reference *br;
+
+ if (list_empty(&btrn->input_queue)) {
+ *bufp = NULL;
+ return 0;
+ }
+ br = list_first_entry(&btrn->input_queue, struct btr_buffer_reference, node);
+ return btr_get_buffer_by_reference(br, bufp);
+}
+
+void btr_consume(struct btr_node *btrn, size_t numbytes)
+{
+ struct btr_buffer_reference *br;
+
+ assert(!list_empty(&btrn->input_queue));
+ br = list_first_entry(&btrn->input_queue, struct btr_buffer_reference, node);
+ assert(br->consumed + numbytes <= br->btrb->size);
+ br->consumed += numbytes;