RTC Toolkit 6.0.0-pre2
Loading...
Searching...
No Matches
publicationScheduling.hpp
Go to the documentation of this file.
1#ifndef RTCTK_REUSABLECOMPONENT_MUDPIPUB_PUBLICATIONSCHEDULING_HPP
2#define RTCTK_REUSABLECOMPONENT_MUDPIPUB_PUBLICATIONSCHEDULING_HPP
3
4#include <chrono>
5#include <cstdint>
6#include <string_view>
7
8#include <taiclock/taiClock.hpp>
9
10namespace rtctk::mudpiPub {
11
12inline taiclock::TaiClock::time_point
13ComputePublicationDeadline(const taiclock::TaiClock::time_point start_time,
14 const std::chrono::microseconds period,
15 const int64_t cycle_counter) {
16 return start_time + period * cycle_counter;
17}
18
19inline bool IsPublicationStartInPast(const taiclock::TaiClock::time_point start_time,
20 const taiclock::TaiClock::time_point now) {
21 return start_time < now;
22}
23
24taiclock::TaiClock::time_point
25ParsePublicationStartTimestamp(std::string_view publication_start_timestamp);
26
27taiclock::TaiClock::time_point
28ResolveConfiguredPublicationStartTime(std::string_view publication_start_timestamp,
29 taiclock::TaiClock::time_point now);
30
31} // namespace rtctk::mudpiPub
32
33#endif // RTCTK_REUSABLECOMPONENT_MUDPIPUB_PUBLICATIONSCHEDULING_HPP
Definition businessLogic.cpp:24
bool IsPublicationStartInPast(const taiclock::TaiClock::time_point start_time, const taiclock::TaiClock::time_point now)
Definition publicationScheduling.hpp:19
taiclock::TaiClock::time_point ParsePublicationStartTimestamp(std::string_view publication_start_timestamp)
Definition publicationScheduling.cpp:26
taiclock::TaiClock::time_point ComputePublicationDeadline(const taiclock::TaiClock::time_point start_time, const std::chrono::microseconds period, const int64_t cycle_counter)
Definition publicationScheduling.hpp:13
taiclock::TaiClock::time_point ResolveConfiguredPublicationStartTime(std::string_view publication_start_timestamp, taiclock::TaiClock::time_point now)
Definition publicationScheduling.cpp:39