59class PDCOM5_PUBLIC Transmission
63 static constexpr double checkInterval(
double d)
66 "period must be greater than zero")
71 constexpr double getInterval()
const noexcept {
return interval_; }
72 template <
typename T,
typename R>
73 constexpr Transmission(std::chrono::duration<T, R> d) :
74 interval_(checkInterval(
75 std::chrono::duration_cast<std::chrono::duration<double>>(d)
79 constexpr Transmission(
poll_mode_tag) noexcept : interval_(-1) {}
80 bool operator==(
const Transmission &o)
const noexcept
82 return o.interval_ == interval_;
85 static constexpr Transmission fromDouble(
double d)
88 ? Transmission(event_mode)
89 : (d == -1 ? Transmission(poll_mode)
90 : Transmission(std::chrono::duration<double>(d)));