delete metadata after processing

This commit is contained in:
Robin Müller 2022-09-02 11:38:46 +02:00
parent db84dcd3ce
commit dc79b7ba00
No known key found for this signature in database
GPG Key ID: 11D4952C8CCEF814

View File

@ -21,13 +21,15 @@ ReturnValue_t cfdp::DestHandler::performStateMachine() {
if (step == TransactionStep::IDLE) { if (step == TransactionStep::IDLE) {
ReturnValue_t status = returnvalue::OK; ReturnValue_t status = returnvalue::OK;
ReturnValue_t result; ReturnValue_t result;
for (const auto& info : dp.packetListRef) { for(auto infoIter = dp.packetListRef.begin(); infoIter != dp.packetListRef.end();) {
if (info.pduType == PduType::FILE_DIRECTIVE and if (infoIter->pduType == PduType::FILE_DIRECTIVE and
info.directiveType == FileDirectives::METADATA) { infoIter->directiveType == FileDirectives::METADATA) {
result = handleMetadataPdu(info); result = handleMetadataPdu(*infoIter);
if (result != OK) { if (result != OK) {
status = result; status = result;
} }
fp.tcStore->deleteData(infoIter->storeId);
dp.packetListRef.erase(infoIter++);
} }
} }
if (step != TransactionStep::IDLE) { if (step != TransactionStep::IDLE) {