RTC Toolkit 6.0.0
Loading...
Searching...
No Matches
publicationScheduling.hpp
Go to the documentation of this file.
1
11
12#ifndef RTCTK_REUSABLECOMPONENT_MUDPIPUB_PUBLICATIONSCHEDULING_HPP
13#define RTCTK_REUSABLECOMPONENT_MUDPIPUB_PUBLICATIONSCHEDULING_HPP
14
15#include <chrono>
16#include <cstdint>
17#include <string_view>
18
19#include <taiclock/taiClock.hpp>
20
21namespace rtctk::mudpiPub {
22
23inline taiclock::TaiClock::time_point
24ComputePublicationDeadline(const taiclock::TaiClock::time_point start_time,
25 const std::chrono::microseconds period,
26 const int64_t cycle_counter) {
27 return start_time + period * cycle_counter;
28}
29
30inline bool IsPublicationStartInPast(const taiclock::TaiClock::time_point start_time,
31 const taiclock::TaiClock::time_point now) {
32 return start_time < now;
33}
34
35taiclock::TaiClock::time_point
36ParsePublicationStartTimestamp(std::string_view publication_start_timestamp);
37
38taiclock::TaiClock::time_point
39ResolveConfiguredPublicationStartTime(std::string_view publication_start_timestamp,
40 taiclock::TaiClock::time_point now);
41
42} // namespace rtctk::mudpiPub
43
44#endif // RTCTK_REUSABLECOMPONENT_MUDPIPUB_PUBLICATIONSCHEDULING_HPP
Definition businessLogic.cpp:23
bool IsPublicationStartInPast(const taiclock::TaiClock::time_point start_time, const taiclock::TaiClock::time_point now)
Definition publicationScheduling.hpp:30
taiclock::TaiClock::time_point ParsePublicationStartTimestamp(std::string_view publication_start_timestamp)
Definition publicationScheduling.cpp:25
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:24
taiclock::TaiClock::time_point ResolveConfiguredPublicationStartTime(std::string_view publication_start_timestamp, taiclock::TaiClock::time_point now)
Definition publicationScheduling.cpp:38