|
|
|
@ -59,10 +59,10 @@ FilterOp::FilterOp(const std::vector<std::string> &in_col_names, int32_t num_wor
|
|
|
|
|
: ParallelOp(num_workers, op_queue_size), predicate_func_(std::move(predicate_func)), in_columns_(in_col_names) {}
|
|
|
|
|
|
|
|
|
|
Status FilterOp::operator()() {
|
|
|
|
|
// The operator class just starts off threads by calling the tree_ function.
|
|
|
|
|
RETURN_UNEXPECTED_IF_NULL(tree_);
|
|
|
|
|
// Synchronize with TaskManager.
|
|
|
|
|
TaskManager::FindMe()->Post();
|
|
|
|
|
// The operator class just starts off threads by calling the tree_ function.
|
|
|
|
|
RETURN_UNEXPECTED_IF_NULL(tree_);
|
|
|
|
|
filter_queues_.Init(num_workers_, oc_queue_size_);
|
|
|
|
|
RETURN_IF_NOT_OK(filter_queues_.Register(tree_->AllTasks()));
|
|
|
|
|
RETURN_IF_NOT_OK(tree_->LaunchWorkers(num_workers_, std::bind(&FilterOp::WorkerEntry, this, std::placeholders::_1)));
|
|
|
|
|