Periodic< TClock > Class Template Reference

Space-ng SDK: sol3::core::Periodic< TClock > Class Template Reference
Space-ng SDK
sol3::core::Periodic< TClock > Class Template Reference

Fixed-rate, phase-aligned ticker for periodic scheduling. More...

#include <sol3/core/time.h>

Public Types

using TimePoint = typename TClock::time_point
 
using Duration = typename TClock::duration
 

Public Member Functions

 Periodic (Duration period, TimePoint anchor={})
 
bool due (TimePoint now)
 
TimePoint nextDeadline (TimePoint now) const
 Compute the next aligned deadline strictly after now More...
 

Detailed Description

template<class TClock = std::chrono::steady_clock>
class sol3::core::Periodic< TClock >

Fixed-rate, phase-aligned ticker for periodic scheduling.

Member Typedef Documentation

◆ Duration

template<class TClock = std::chrono::steady_clock>
using sol3::core::Periodic< TClock >::Duration = typename TClock::duration

◆ TimePoint

template<class TClock = std::chrono::steady_clock>
using sol3::core::Periodic< TClock >::TimePoint = typename TClock::time_point

Constructor & Destructor Documentation

◆ Periodic()

template<class TClock = std::chrono::steady_clock>
sol3::core::Periodic< TClock >::Periodic ( Duration  period,
TimePoint  anchor = {} 
)
inlineexplicit

Member Function Documentation

◆ due()

template<class TClock = std::chrono::steady_clock>
bool sol3::core::Periodic< TClock >::due ( TimePoint  now)
inline

Return true if now is at or past the current deadline, and advance the internal deadline to the next aligned time point.

If the loop is late, "skip" missed occurrences and schedule the next aligned one (no catch-up bursts).

◆ nextDeadline()

template<class TClock = std::chrono::steady_clock>
TimePoint sol3::core::Periodic< TClock >::nextDeadline ( TimePoint  now) const
inline

Compute the next aligned deadline strictly after now


The documentation for this class was generated from the following file:
  • /workspaces/astro/sol3-sdk/cpp/sol3/core/time.h