Add btr_bytes_pending().
[paraslash.git] / buffer_tree.c
index 084827e..941d58d 100644 (file)
@@ -196,3 +196,20 @@ size_t btr_get_input_queue_size(struct btr_node *btrn)
                size += br_available_bytes(br);
        return size;
 }
+
+/**
+ * Return the size of the largest input queue.
+ *
+ * Iterates over all children of the given node.
+ */
+size_t btr_bytes_pending(struct btr_node *btrn)
+{
+       size_t max_size = 0;
+       struct btr_node *ch;
+
+       FOR_EACH_CHILD(ch, btrn) {
+               size_t size = btr_get_input_queue_size(ch);
+               max_size = PARA_MAX(max_size, size);
+       }
+       return max_size;
+}