File tree Expand file tree Collapse file tree 1 file changed +9
-3
lines changed
Expand file tree Collapse file tree 1 file changed +9
-3
lines changed Original file line number Diff line number Diff 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
5456class 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
You can’t perform that action at this time.
0 commit comments