MCPcopy Create free account
hub / github.com/bytedance/bolt / isBlocked

Method isBlocked

bolt/exec/tests/CustomJoinTest.cpp:228–245  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

226 }
227
228 BlockingReason isBlocked(ContinueFuture* future) override {
229 if (numRows_.has_value()) {
230 return BlockingReason::kNotBlocked;
231 }
232
233 auto joinBridge = operatorCtx_->task()->getCustomJoinBridge(
234 operatorCtx_->driverCtx()->splitGroupId, planNodeId());
235 auto numRows = std::dynamic_pointer_cast<CustomJoinBridge>(joinBridge)
236 ->numRowsOrFuture(future);
237
238 if (!numRows.has_value()) {
239 return BlockingReason::kWaitForJoinBuild;
240 }
241 numRows_ = std::move(numRows);
242 remainingLimit_ = numRows_.value();
243
244 return BlockingReason::kNotBlocked;
245 }
246
247 bool isFinished() override {
248 return finished_ || (noMoreInput_ && input_ == nullptr);

Callers

nothing calls this directly

Calls 6

has_valueMethod · 0.80
getCustomJoinBridgeMethod · 0.80
taskMethod · 0.80
numRowsOrFutureMethod · 0.80
driverCtxMethod · 0.45
valueMethod · 0.45

Tested by

no test coverage detected