Skip to content

Commit ef519da

Browse files
author
Rafał Hibner
committed
Update doc
1 parent 5ce4c6e commit ef519da

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

cpp/src/arrow/acero/backpressure.h

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,15 +49,21 @@ class BackpressureControlWrapper : public BackpressureControl {
4949
};
5050

5151
// Provides infrastructure of combining multiple backpressure sources and propagate the
52-
// result into BackpressureControl There are two types of Source: strong - pause on any
53-
// strong Source within controller
52+
// result into BackpressureControl There are two logic scheme of backpressure:
53+
// 1. Default pause_on_any=true - pause on any source is propagated - OR logic
54+
// 2. pause_on_any=false - pause is propagated only when all sources are paused - AND
55+
// logic
5456
class ARROW_ACERO_EXPORT BackpressureCombiner {
5557
public:
5658
explicit BackpressureCombiner(std::unique_ptr<BackpressureControl> backpressure_control,
5759
bool pause_on_any = true);
5860

5961
// Instances of Source can be used as usual BackpresureControl.
60-
// Source can be connected with one or more BackpressureCombiner
62+
// That means that BackpressureCombiner::Source can use another BackpressureCombiner
63+
// as backpressure_control
64+
// This enabled building more complex backpressure logic using AND/OR operations.
65+
// Source can also be connected with more BackpressureCombiners to facilitate
66+
// propagation of backpressure to multiple inputs.
6167
class ARROW_ACERO_EXPORT Source : public BackpressureControl {
6268
public:
6369
// strong - strong_connection=true

0 commit comments

Comments
 (0)