Go to the documentation of this file.
104 if (ts < mdh->getDeadline())
147 if (mono_ts > deadline)
160 return -ErrRecursiveCall;
191 return -ErrRecursiveCall;
MonotonicTime getDeadline() const
LinkedListRoot< DeadlineHandler > handlers_
int spin(MonotonicTime deadline)
static MonotonicTime getMax()
void cleanup(MonotonicTime ts)
void startWithDeadline(MonotonicTime deadline)
MonotonicTime computeDispatcherSpinDeadline(MonotonicTime spin_deadline) const
MonotonicDuration cleanup_period_
void pollCleanup(MonotonicTime mono_ts, uint32_t num_frames_processed_with_last_spin)
const UAVCAN_EXPORT T & min(const T &a, const T &b)
DeadlineScheduler deadline_scheduler_
virtual void handleDeadline(MonotonicTime current)=0
MonotonicTime getMonotonicTime() const
MonotonicDeadlineHandlerInsertionComparator(MonotonicTime arg_ts)
ISystemClock & getSystemClock()
bool doesExist(const DeadlineHandler *mdh) const
void startWithDelay(MonotonicDuration delay)
int spin(MonotonicTime deadline)
void remove(DeadlineHandler *mdh)
MonotonicDuration deadline_resolution_
bool operator()(const DeadlineHandler *t) const
DeadlineScheduler & getDeadlineScheduler()
T * getNextListNode() const
void add(DeadlineHandler *mdh)
MonotonicTime pollAndGetMonotonicTime(ISystemClock &sysclock)
MonotonicTime prev_cleanup_ts_
MonotonicTime getEarliestDeadline() const
virtual MonotonicTime getMonotonic() const =0