Persistent TM Store #320

Merged
muellerr merged 109 commits from mueller/pus-15-tm-storage into develop 2023-02-24 19:03:39 +01:00
249 changed files with 6650 additions and 12285 deletions
Showing only changes of commit d82810d5e7 - Show all commits

View File

@@ -57,6 +57,10 @@ ReturnValue_t TmStore::passPacket(PusTmReader& reader) {
return returnvalue::OK; return returnvalue::OK;
} }
void TmStore::dumpFrom(uint32_t fromUnixSeconds, TmFunnelBase &tmFunnel) {
return dumpFromUpTo(fromUnixSeconds, currentTv.tv_sec, tmFunnel);
}
ReturnValue_t TmStore::storePacket(PusTmReader& reader) { ReturnValue_t TmStore::storePacket(PusTmReader& reader) {
using namespace std::filesystem; using namespace std::filesystem;
if (baseDirUninitialized) { if (baseDirUninitialized) {
@@ -208,8 +212,12 @@ void TmStore::dumpFromUpTo(uint32_t fromUnixSeconds, uint32_t upToUnixSeconds,
TmFunnelBase& funnel) { TmFunnelBase& funnel) {
using namespace std::filesystem; using namespace std::filesystem;
for (auto const& file : directory_iterator(basePath)) { for (auto const& file : directory_iterator(basePath)) {
if (file.is_directory() or if (file.is_directory()) {
(mostRecentFile.has_value() and (mostRecentFile.value() == file.path()))) { continue;
}
if (mostRecentFile.has_value() and mostRecentTv.has_value() and
(file.path() == mostRecentFile.value()) and
(upToUnixSeconds < static_cast<uint32_t>(mostRecentTv.value().tv_sec))) {
continue; continue;
} }
Clock::TimeOfDay_t tod; Clock::TimeOfDay_t tod;

View File

@@ -39,6 +39,7 @@ class TmStore : public SystemObject {
void addServiceSubservice(uint8_t service, uint8_t subservice); void addServiceSubservice(uint8_t service, uint8_t subservice);
void deleteUpTo(uint32_t unixSeconds); void deleteUpTo(uint32_t unixSeconds);
void dumpFrom(uint32_t fromUnixSeconds, TmFunnelBase& tmFunnel);
void dumpFromUpTo(uint32_t fromUnixSeconds, uint32_t upToUnixSeconds, TmFunnelBase& tmFunnel); void dumpFromUpTo(uint32_t fromUnixSeconds, uint32_t upToUnixSeconds, TmFunnelBase& tmFunnel);
void updateBaseDir(); void updateBaseDir();

2
tmtc

Submodule tmtc updated: d6445d38a8...2bd6caa3c2