MCPcopy Create free account
hub / github.com/IppClub/Dora-SSR / processWorkerEvent

Method processWorkerEvent

Source/Common/Async.cpp:208–228  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

206}
207
208bool Async::processWorkerEvent(Own<QEvent> event, Async* owner) {
209 switch (Switch::hash(event->getName())) {
210 case "Work"_hash: {
211 Own<std::function<void()>> worker;
212 event->get(worker);
213 (*worker)();
214 return false;
215 }
216 case "WorkDone"_hash: {
217 Own<WorkDone> workDone;
218 event->get(workDone);
219 Own<Values> result = workDone->first();
220 owner->_finisherEvent.post(Slice::Empty, std::move(workDone), std::move(result));
221 return false;
222 }
223 case "Stop"_hash: {
224 return !owner->isPoolWorker();
225 }
226 }
227 return false;
228}
229
230bool Async::isPoolWorker() const {
231 return _pool != nullptr;

Callers 1

workMethod · 0.80

Calls 7

moveFunction · 0.85
isPoolWorkerMethod · 0.80
hashFunction · 0.70
getNameMethod · 0.65
getMethod · 0.65
postMethod · 0.65
firstMethod · 0.45

Tested by

no test coverage detected