introduce handling for full target queue

This commit is contained in:
Robin Müller 2023-08-14 21:19:35 +02:00
parent cb1aaea6cd
commit 8c11685240
Signed by: muellerr
GPG Key ID: FCE0B2BD2195142F
2 changed files with 5 additions and 1 deletions

View File

@ -333,7 +333,10 @@ ReturnValue_t cfdp::SourceHandler::sendGenericPdu(const SerializeIF& pdu) {
TmTcMessage tmMsg(storeId);
result =
fsfwParams.msgQueue->sendMessage(fsfwParams.packetDest.getReportReceptionQueue(), &tmMsg);
if (result == OK) {
if (result == MessageQueueIF::FULL) {
fsmResult.callStatus = CallStatus::CALL_AFTER_DELAY;
return TARGET_MSG_QUEUE_FULL;
} else if (result == OK) {
fsmResult.packetsSent += 1;
}
return result;

View File

@ -67,6 +67,7 @@ static constexpr ReturnValue_t FILE_SEGMENT_LEN_INVALID = returnvalue::makeCode(
static constexpr ReturnValue_t SOURCE_NAME_EMPTY = returnvalue::makeCode(CID, 3);
static constexpr ReturnValue_t DEST_NAME_EMPTY = returnvalue::makeCode(CID, 4);
static constexpr ReturnValue_t WRONG_REMOTE_CFG_ENTITY_ID = returnvalue::makeCode(CID, 5);
static constexpr ReturnValue_t TARGET_MSG_QUEUE_FULL = returnvalue::makeCode(CID, 6);
} // namespace cfdp
#endif // FSFW_CFDP_HANDLER_DEFS_H