EqualityFilter.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <map>
4
#include <vector>
5
6
// Base Class
7
#include "
../Filter.h
"
8
9
// Aron
10
#include <chrono>
11
12
#include <
RobotAPI/libraries/aron/core/data/variant/container/Dict.h
>
13
14
namespace
armarx::armem::server::ltm::processor::filter
15
{
16
class
SnapshotEqualityFilter
:
public
SnapshotFilter
17
{
18
public
:
19
static
const
constexpr
char
*
NAME
=
"SnapshotEqualityFilter"
;
20
21
SnapshotEqualityFilter
() =
default
;
22
23
virtual
bool
accept
(
const
armem::wm::EntitySnapshot
& e,
bool
simulatedVersion)
override
;
24
void
configure
(
const
nlohmann::json& json)
override
;
25
26
FilterStatistics
getFilterStatistics
()
override
;
27
std::string
getName
()
override
;
28
29
private
:
30
bool
checkSnapshotEquality(
31
const
armem::wm::EntitySnapshot
& oldSnapshot,
32
const
armem::wm::EntitySnapshot
& newSnapshot);
33
bool
checkInstanceEquality(
34
const
aron::data::VariantPtr
& oldData,
35
const
aron::data::VariantPtr
& newData);
36
private
:
37
std::map<MemoryID, long> timestampLastCommitInMs;
38
FilterStatistics
stats;
39
std::unordered_map<std::string, armem::wm::EntitySnapshot> lastAcceptedSnapshots;
40
};
41
}
// namespace armarx::armem::server::ltm::processor::filter
Filter.h
armarx::armem::server::ltm::processor::SnapshotFilter::SnapshotFilter
SnapshotFilter()=default
armarx::armem::server::ltm::processor::filter::SnapshotEqualityFilter::configure
void configure(const nlohmann::json &json) override
Definition
EqualityFilter.cpp:248
armarx::armem::server::ltm::processor::filter::SnapshotEqualityFilter::accept
virtual bool accept(const armem::wm::EntitySnapshot &e, bool simulatedVersion) override
Definition
EqualityFilter.cpp:23
armarx::armem::server::ltm::processor::filter::SnapshotEqualityFilter::getName
std::string getName() override
Definition
EqualityFilter.cpp:263
armarx::armem::server::ltm::processor::filter::SnapshotEqualityFilter::SnapshotEqualityFilter
SnapshotEqualityFilter()=default
armarx::armem::server::ltm::processor::filter::SnapshotEqualityFilter::getFilterStatistics
FilterStatistics getFilterStatistics() override
Definition
EqualityFilter.cpp:256
armarx::armem::server::ltm::processor::filter::SnapshotEqualityFilter::NAME
static const constexpr char * NAME
Definition
EqualityFilter.h:19
armarx::armem::wm::EntitySnapshot
Client-side working memory entity snapshot.
Definition
memory_definitions.h:84
Dict.h
armarx::armem::server::ltm::processor::filter
Definition
EqualityFilter.cpp:21
armarx::aron::data::VariantPtr
std::shared_ptr< Variant > VariantPtr
Definition
forward_declarations.h:11
armarx::armem::server::ltm::processor::SnapshotFilter::FilterStatistics
Definition
Filter.h:37
RobotAPI
libraries
armem
server
ltm
processors
filter
equalityFilter
EqualityFilter.h
Generated by
1.13.2