RTC Toolkit  0.1.0-alpha
operationalLogicIf.hpp
Go to the documentation of this file.
1 
8 #ifndef RTCKT_TELSUB_OPERATIONALLOGICIF_HPP
9 #define RTCKT_TELSUB_OPERATIONALLOGICIF_HPP
10 #include <rtctk/config.hpp>
11 
12 #include <chrono>
13 #include <optional>
14 #include <string>
15 
16 #include <numapp/numapolicies.hpp>
17 #include "ddsSubscriberIf.hpp"
18 
19 namespace rtctk::telSub {
20 
26 struct ShmParams {
27  std::string topic_name;
28  size_t capacity;
29  std::optional<numapp::MemPolicy> mem_policy;
30 };
31 
38  OperationalParams() = default;
44  std::chrono::milliseconds close_detach_delay = std::chrono::milliseconds(0);
45  std::chrono::milliseconds correlator_poll_timeout = std::chrono::milliseconds(100);
46  std::optional<numapp::NumaPolicies> processing_thread_policies = std::nullopt;
47  std::optional<numapp::NumaPolicies> monitoring_thread_policies = std::nullopt;
48 };
49 
50 
56 public:
57  virtual ~OperationalLogicIf() {
58  }
59 
67  virtual void RunAsync() RTCTK_NOEXCEPT = 0;
68 
74  virtual void IdleAsync() RTCTK_NOEXCEPT = 0;
75 
81  virtual std::error_code GetLastError() const RTCTK_NOEXCEPT = 0;
82 
90  virtual uint64_t GetErrorCount() const RTCTK_NOEXCEPT = 0;
91 
92 };
93 
94 } // namespace rtctk::telSub
95 #endif // #ifndef RTCKT_TELSUB_OPERATIONALLOGICIF_HPP
rtctk::telSub::ShmParams::mem_policy
std::optional< numapp::MemPolicy > mem_policy
Definition: operationalLogicIf.hpp:29
rtctk::telSub::OperationalParams::correlator_poll_timeout
std::chrono::milliseconds correlator_poll_timeout
Definition: operationalLogicIf.hpp:45
rtctk::telSub::OperationalLogicIf::GetLastError
virtual std::error_code GetLastError() const RTCTK_NOEXCEPT=0
rtctk::telSub::OperationalParams::OperationalParams
OperationalParams()=default
config.hpp
Project-wide configuration header.
rtctk::telSub::OperationalLogicIf::~OperationalLogicIf
virtual ~OperationalLogicIf()
Definition: operationalLogicIf.hpp:57
rtctk::telSub::OperationalLogicIf::RunAsync
virtual void RunAsync() RTCTK_NOEXCEPT=0
rtctk::telSub::OperationalLogicIf
Definition: operationalLogicIf.hpp:55
rtctk::telSub::OperationalLogicIf::IdleAsync
virtual void IdleAsync() RTCTK_NOEXCEPT=0
rtctk::telSub::OperationalParams::monitoring_thread_policies
std::optional< numapp::NumaPolicies > monitoring_thread_policies
Definition: operationalLogicIf.hpp:47
rtctk::telSub::OperationalLogicIf::GetErrorCount
virtual uint64_t GetErrorCount() const RTCTK_NOEXCEPT=0
rtctk::telSub::ShmParams
Definition: operationalLogicIf.hpp:26
rtctk::telSub
Definition: businessLogic.cpp:35
rtctk::telSub::OperationalParams
Definition: operationalLogicIf.hpp:37
rtctk::telSub::ShmParams::capacity
size_t capacity
Definition: operationalLogicIf.hpp:28
rtctk::telSub::ShmParams::topic_name
std::string topic_name
Definition: operationalLogicIf.hpp:27
std
Definition: mudpiProcessingError.hpp:109
ddsSubscriberIf.hpp
Declares DdsSubscriberIf.
RTCTK_NOEXCEPT
#define RTCTK_NOEXCEPT
Definition: config.hpp:12
rtctk::telSub::OperationalParams::processing_thread_policies
std::optional< numapp::NumaPolicies > processing_thread_policies
Definition: operationalLogicIf.hpp:46
rtctk::telSub::OperationalParams::close_detach_delay
std::chrono::milliseconds close_detach_delay
Definition: operationalLogicIf.hpp:44