RTC Toolkit 5.0.0
Loading...
Searching...
No Matches
operationalLogicIf.hpp
Go to the documentation of this file.
1
12#ifndef RTCKT_TELSUB_OPERATIONALLOGICIF_HPP
13#define RTCKT_TELSUB_OPERATIONALLOGICIF_HPP
16#include <rtctk/config.hpp>
17
18#include <chrono>
19#include <optional>
20#include <string>
21
22#include <numapp/numapolicies.hpp>
23
25#include <variant>
26
27namespace rtctk::telSub {
28
37struct ShmParams {
38 // cppcheck-suppress-begin unusedStructMember
39
40 std::string topic_name;
41 size_t capacity;
42 std::optional<numapp::MemPolicy> mem_policy;
43
44 // cppcheck-suppress-end unusedStructMember
45};
46
61 std::chrono::milliseconds close_detach_delay = std::chrono::milliseconds(0);
62 std::chrono::milliseconds correlator_poll_timeout = std::chrono::milliseconds(100);
63 std::chrono::milliseconds monitor_report_interval = std::chrono::milliseconds(500);
64 std::optional<numapp::NumaPolicies> processing_thread_policies = std::nullopt;
65 std::optional<numapp::NumaPolicies> monitoring_thread_policies = std::nullopt;
66};
67
125
126} // namespace rtctk::telSub
127
128#endif // RTCKT_TELSUB_OPERATIONALLOGICIF_HPP
Interface to the operational logic implementation.
Definition operationalLogicIf.hpp:74
virtual LastError GetLastError() const RTCTK_NOEXCEPT=0
Return last recorded error.
virtual void IdleAsync() RTCTK_NOEXCEPT=0
Stop publishing.
virtual void RunAsync() RTCTK_NOEXCEPT=0
Start publishing.
virtual uint64_t GetErrorCount() const RTCTK_NOEXCEPT=0
Get current error count.
virtual ~OperationalLogicIf()
Definition operationalLogicIf.hpp:76
std::variant< std::monostate, BlenderError, ShmError > PublisherError
Definition shmPublisherIf.hpp:45
Project-wide configuration header.
#define RTCTK_NOEXCEPT
Definition config.hpp:63
Declares CorrelatorIf.
Declares DdsWaitSetIf.
elt::mal::future< std::string > InjectReqRepEvent(StateMachineEngine &engine)
Definition malEventInjector.hpp:23
Definition main.cpp:24
Declares ShmPublisher.
Describes last errors.
Definition operationalLogicIf.hpp:82
std::optional< CorrelationError > correlation
Error reading and correlating samples from DDS.
Definition operationalLogicIf.hpp:86
ShmPublisherIf::PublisherError publish
Error from user blending function and publishing to SHM.
Definition operationalLogicIf.hpp:90
Configuration parameters needed for operational logic.
Definition operationalLogicIf.hpp:55
std::chrono::milliseconds monitor_report_interval
Definition operationalLogicIf.hpp:63
std::chrono::milliseconds correlator_poll_timeout
Definition operationalLogicIf.hpp:62
std::optional< numapp::NumaPolicies > processing_thread_policies
Definition operationalLogicIf.hpp:64
std::chrono::milliseconds close_detach_delay
Amount of time to delay detaching the SHM from the point it is signalled as closed.
Definition operationalLogicIf.hpp:61
std::optional< numapp::NumaPolicies > monitoring_thread_policies
Definition operationalLogicIf.hpp:65
Shared memory configuration parameters.
Definition operationalLogicIf.hpp:37
std::optional< numapp::MemPolicy > mem_policy
Definition operationalLogicIf.hpp:42
std::string topic_name
Definition operationalLogicIf.hpp:40
size_t capacity
Definition operationalLogicIf.hpp:41