26 #ifndef PDCOM5_SUBSCRIBER_H 27 #define PDCOM5_SUBSCRIBER_H 29 #include "visibility.h" 60 static constexpr
double checkInterval(
double d)
62 return d <= 0 ?
throw std::invalid_argument(
63 "period must be greater than zero")
68 constexpr
double getInterval()
const noexcept {
return interval_; }
69 template <
typename T,
typename R>
71 interval_(checkInterval(
72 std::chrono::duration_cast<std::chrono::duration<double>>(d)
79 return o.interval_ == interval_;
94 friend class impl::Subscription;
103 const Transmission &getTransmission()
const noexcept {
return td_; }
116 virtual void newValues(std::chrono::nanoseconds time_ns) = 0;
124 #endif // PDCOM5_SUBSCRIBER_H Tag for event-based subscription.
Definition: Subscriber.h:42
PdCom Subscription interface.
Definition: Subscription.h:93
Definition: Subscriber.h:91
library version string as "major.minor.patch"
Definition: details.h:37
Transmission mode for subscriptions.
Definition: Subscriber.h:56
Tag for poll-based subscription.
Definition: Subscriber.h:46