#include "PersistentTmStoreWithTmQueue.h" #include #include PersistentTmStoreWithTmQueue::PersistentTmStoreWithTmQueue(PersistentTmStoreArgs args, const char* storeName, uint32_t tmQueueDepth) : PersistentTmStore(args), storeName(storeName) { tmQueue = QueueFactory::instance()->createMessageQueue(tmQueueDepth); } ReturnValue_t PersistentTmStoreWithTmQueue::handleNextTm() { TmTcMessage msg; ReturnValue_t result = tmQueue->receiveMessage(&msg); if (result == MessageQueueIF::EMPTY) { return result; } auto accessor = tmStore.getData(msg.getStorageId()); if (accessor.first != returnvalue::OK) { return result; } PusTmReader reader(accessor.second.data(), accessor.second.size()); storePacket(reader); return returnvalue::OK; } const char* PersistentTmStoreWithTmQueue::getName() const { return storeName; } MessageQueueId_t PersistentTmStoreWithTmQueue::getReportReceptionQueue( uint8_t virtualChannel) const { return tmQueue->getId(); }