FrequencyFilter.h
Go to the documentation of this file.
1 #pragma once
2 
3 // Base Class
4 #include "../Filter.h"
5 
7 {
9  {
10  NOT_SET = 0,
11  SENT = 1,
12  ARRIVED = 2,
15  };
16 
18  {
19  public:
20  static const constexpr char* NAME = "SnapshotFrequencyFilter";
21  static const constexpr char* PARAM_WAITING_TIME = "WaitingTimeInMsForFilter";
22 
23  SnapshotFrequencyFilter() = default;
24 
25  virtual bool accept(const armem::wm::EntitySnapshot& e, bool simulatedVersion) override;
26  void configure(const nlohmann::json& json) override;
27 
29  std::string getName() override;
30 
31  private:
32  void setNonCorruptedTimestampType(const armem::wm::EntitySnapshot& e);
33  int getNonCorruptedTimestamp(const armem::wm::EntityInstance& i, bool simulatedVersion);
34 
35  std::map<MemoryID, std::int64_t> lastTimesPerEntity;
36  int maxDifference = 0;
37  bool corruptedWarningGiven = false;
38  TimestampType nonCorruptedType = TimestampType::NOT_SET;
39  };
40 } // namespace armarx::armem::server::ltm::processor::filter
armarx::armem::server::ltm::processor::filter::SnapshotFrequencyFilter::configure
void configure(const nlohmann::json &json) override
Definition: FrequencyFilter.cpp:209
armarx::armem::wm::EntityInstance
Client-side working entity instance.
Definition: memory_definitions.h:32
armarx::armem::server::ltm::processor::filter::SnapshotFrequencyFilter::getName
std::string getName() override
Definition: FrequencyFilter.cpp:231
armarx::armem::server::ltm::processor::filter::SnapshotFrequencyFilter::SnapshotFrequencyFilter
SnapshotFrequencyFilter()=default
armarx::armem::server::ltm::processor::filter::TimestampType
TimestampType
Definition: FrequencyFilter.h:8
armarx::armem::server::ltm::processor::filter::REFERENCED
@ REFERENCED
Definition: FrequencyFilter.h:13
armarx::armem::server::ltm::processor::filter::SnapshotFrequencyFilter::NAME
static const constexpr char * NAME
Definition: FrequencyFilter.h:20
armarx::armem::server::ltm::processor::filter::SnapshotFrequencyFilter::PARAM_WAITING_TIME
static const constexpr char * PARAM_WAITING_TIME
Definition: FrequencyFilter.h:21
armarx::armem::wm::EntitySnapshot
Client-side working memory entity snapshot.
Definition: memory_definitions.h:80
armarx::armem::server::ltm::processor::filter::SnapshotFrequencyFilter::getFilterStatistics
FilterStatistics getFilterStatistics() override
Definition: FrequencyFilter.cpp:224
armarx::armem::server::ltm::processor::filter::NOT_SET
@ NOT_SET
Definition: FrequencyFilter.h:10
armarx::armem::server::ltm::processor::filter::SnapshotFrequencyFilter::accept
virtual bool accept(const armem::wm::EntitySnapshot &e, bool simulatedVersion) override
Definition: FrequencyFilter.cpp:9
armarx::armem::server::ltm::processor::filter::SENT
@ SENT
Definition: FrequencyFilter.h:11
armarx::armem::server::ltm::processor::filter
Definition: EqualityFilter.cpp:10
armarx::armem::server::ltm::processor::filter::ALL_CORRUPTED
@ ALL_CORRUPTED
Definition: FrequencyFilter.h:14
armarx::armem::server::ltm::processor::filter::SnapshotFrequencyFilter
Definition: FrequencyFilter.h:17
armarx::armem::server::ltm::processor::SnapshotFilter::FilterStatistics
Definition: Filter.h:35
armarx::armem::server::ltm::processor::SnapshotFilter
Definition: Filter.h:26
armarx::armem::server::ltm::processor::filter::ARRIVED
@ ARRIVED
Definition: FrequencyFilter.h:12