You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
CommandHandler::ProcessCommandDataElement will send a status response in failure cases.
But if we don't reach that function, we will fail to send spec-required status responses. Specifically, if Command::ProcessCommandMessage errors out before calling ProcessCommandDataElement (which it can do if the command list is missing in the TLV or has the wrong tag), we will never reach ProcessCommandDataElement.
Proposed Solution
Add tests and fix. Perhaps hoist the status-response-sending to Command::ProcessCommandMessage?
The text was updated successfully, but these errors were encountered:
InteractionModelEngine::OnMessageReceived will send a StatusResponse with Failure (not the right error code for our purposes here) if it calls something that fails.
It calls OnInvokeCommandRequest.
That calls CommandHandler::OnInvokeCommandRequest.
That calls CommandHandler::ProcessInvokeRequest.
We should either propagate the status bits down into all that or something.
Note also a similar TODO comment at the end of InteractionModelEngine::OnReadInitialRequest.
Problem
CommandHandler::ProcessCommandDataElement
will send a status response in failure cases.But if we don't reach that function, we will fail to send spec-required status responses. Specifically, if
Command::ProcessCommandMessage
errors out before callingProcessCommandDataElement
(which it can do if the command list is missing in the TLV or has the wrong tag), we will never reachProcessCommandDataElement
.Proposed Solution
Add tests and fix. Perhaps hoist the status-response-sending to
Command::ProcessCommandMessage
?The text was updated successfully, but these errors were encountered: