26 #ifndef PDCOM5_SUBSCRIBER_H
27 #define PDCOM5_SUBSCRIBER_H
29 #include "pdcom5_export.h"
64 static constexpr
double checkInterval(
double d)
67 "period must be greater than zero")
72 constexpr
double getInterval()
const noexcept {
return interval_; }
73 template <
typename T,
typename R>
75 interval_(checkInterval(
76 std::chrono::duration_cast<std::chrono::duration<double>>(d)
83 return o.interval_ == interval_;
110 friend class impl::Subscription;
119 const Transmission &getTransmission()
const noexcept {
return td_; }
136 virtual void newValues(std::chrono::nanoseconds time_ns) = 0;
154 noexcept(__cplusplus >= 201703L)
156 return std::hash<double>()(t.getInterval());
Definition: Subscriber.h:108
PdCom Subscription interface.
Definition: Subscription.h:65
Transmission mode for subscriptions.
Definition: Subscriber.h:61
library version string as "major.minor.patch"
Definition: ClientStatistics.h:31
Definition: Exception.h:48
Tag for event-based subscription.
Definition: Subscriber.h:45
Tag for poll-based subscription.
Definition: Subscriber.h:50