}
void Logic::execute(RequestContextPtr context, CancelRequestPtr request) {
- // MOCKUP
+ CheckContextPtr checkContextPtr = m_checkRequestManager.getContext(context->responseQueue(),
+ request->sequenceNumber());
+ if (!checkContextPtr) {
+ LOGD("Cancel request id: [%" PRIu16 "] with no matching request in progress.",
+ request->sequenceNumber());
+ return;
+ }
+
+ if (checkContextPtr->cancelled())
+ return;
+
+ checkContextPtr->cancel();
+ checkContextPtr->m_agentTalker->cancel();
+
+ LOGD("Returning response for cancel request id: [%" PRIu16 "].", request->sequenceNumber());
context->returnResponse(context, std::make_shared<CancelResponse>(request->sequenceNumber()));
}
ProtocolFrameSequenceNumber checkId, PolicyResult &result);
bool pluginCheck(const RequestContextPtr &context, const PolicyKey &key,
ProtocolFrameSequenceNumber checkId, PolicyResult &result);
+
void onPoliciesChanged(void);
};