MCPcopy Create free account
hub / github.com/chrxh/alien / process

Method process

source/PersisterInterface/TaskProcessor.cpp:25–47  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

23}
24
25void _TaskProcessor::process()
26{
27 if (_pendingRequestIds.empty()) {
28 return;
29 }
30 std::vector<PersisterRequestId> newRequestIds;
31 for (auto const& requestId : _pendingRequestIds) {
32 if (auto state = _persisterFacade->getRequestState(requestId)) {
33 if (state.value() == PersisterRequestState::Finished) {
34 _finishFunc(requestId);
35 }
36 if (state.value() == PersisterRequestState::InQueue || state.value() == PersisterRequestState::InProgress) {
37 newRequestIds.emplace_back(requestId);
38 }
39 }
40 }
41 _pendingRequestIds = newRequestIds;
42
43 auto criticalErrors = _persisterFacade->fetchAllErrorInfos(SenderId{_senderId});
44 if (!criticalErrors.empty()) {
45 _errorFunc(criticalErrors);
46 }
47}
48
49_TaskProcessor::_TaskProcessor(PersisterFacade const& persisterFacade, std::string const& senderId)
50 : _persisterFacade(persisterFacade)

Callers

nothing calls this directly

Calls 2

getRequestStateMethod · 0.45
fetchAllErrorInfosMethod · 0.45

Tested by

no test coverage detected