90 TProcessExecutor::TProcessExecutor(
unsigned nWorkers) : TMPClient(nWorkers)
97 void TProcessExecutor::Reset()
101 fTaskType = ETask::kNoTask;
108 void TProcessExecutor::ReplyToFuncResult(TSocket *s)
110 if (fNProcessed < fNToProcess) {
112 if (fTaskType == ETask::kMap)
113 MPSend(s, MPCode::kExecFunc);
114 else if (fTaskType == ETask::kMapWithArg)
115 MPSend(s, MPCode::kExecFuncWithArg, fNProcessed);
118 MPSend(s, MPCode::kShutdownOrder);
126 void TProcessExecutor::ReplyToIdle(TSocket *s)
128 if (fNProcessed < fNToProcess) {
130 if (fTaskType == ETask::kMapRedWithArg)
131 MPSend(s, MPCode::kExecFuncWithArg, fNProcessed);
132 else if (fTaskType == ETask::kMapRed)
133 MPSend(s, MPCode::kExecFunc);
136 MPSend(s, MPCode::kSendResult);