Scheduler.hh File Reference

Scheduler public header. More...

#include <boost/noncopyable.hpp>
#include <senf/Utils/Logger/TimeSource.hh>
#include "FdEvent.hh"
#include "TimerEvent.hh"
#include "SignalEvent.hh"
#include "IdleEvent.hh"
#include "EventHook.hh"
#include "Scheduler.cci"
Include dependency graph for Scheduler.hh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  senf::scheduler::LogTimeSource
 scheduler specific time source for Utils/Logger framework More...
 
class  senf::scheduler::BlockSignals
 Temporarily block all signals. More...
 

Namespaces

 senf
 
 senf::scheduler
 The Scheduler interface.
 

Macros

#define SENF_SCHEDULER_WATCHDOG_CHECKPOINT_SET()
 
#define SENF_SCHEDULER_WATCHDOG_CHECKPOINT_CLEAR()   senf::scheduler::detail::FIFORunner::instance().watchdogCheckpoint(nullptr);
 

Functions

void senf::scheduler::process ()
 Event handler main loop. More...
 
bool senf::scheduler::running ()
 true, if scheduler is running, false otherwise More...
 
void senf::scheduler::terminate ()
 Called by callbacks to terminate the main loop. More...
 
void senf::scheduler::yield ()
 Immediately rescheduler. More...
 
ClockService::clock_type const & senf::scheduler::eventTime ()
 Return timestamp of last event. More...
 
ClockService::clock_type const & senf::scheduler::now ()
 Return (approximate) current time. More...
 
ClockService::clock_type senf::scheduler::nowDiff (ClockService::clock_type const &older)
 Returns (approximate) time difference between 'older' and now() More...
 
CyclicTimestamp const & senf::scheduler::eventTimestamp ()
 Returns the FIFOrunners current event timestamp (1ms precision) More...
 
void senf::scheduler::watchdogCallback (detail::FIFORunner::WatchdogCallback const &cb)
 Set watchdog hanging callback. More...
 
void senf::scheduler::watchdogTimeout (unsigned ms)
 Set watchdog timeout to ms milliseconds. More...
 
unsigned senf::scheduler::watchdogTimeout ()
 Current watchdog timeout in milliseconds. More...
 
unsigned senf::scheduler::watchdogEvents ()
 Number of watchdog events. More...
 
void senf::scheduler::watchdogAbort (bool flag)
 Enable/disable abort on watchdog event. More...
 
bool senf::scheduler::watchdogAbort ()
 Get current watchdog abort on event status. More...
 
void senf::scheduler::hiresTimers ()
 Switch to using hi resolution timers. More...
 
void senf::scheduler::loresTimers ()
 Switch back to using epoll for timing. More...
 
bool senf::scheduler::haveScalableHiresTimers ()
 return true, if timerfd() timing is available, false otherwise More...
 
bool senf::scheduler::usingHiresTimers ()
 Return true, if using hires times, false otherwise. More...
 
void senf::scheduler::restart ()
 Restart scheduler. More...
 
bool senf::scheduler::empty ()
 Return true, if no event is registered, false otherwise. More...
 

Detailed Description

Scheduler public header.

Definition in file Scheduler.hh.

Macro Definition Documentation

◆ SENF_SCHEDULER_WATCHDOG_CHECKPOINT_CLEAR

#define SENF_SCHEDULER_WATCHDOG_CHECKPOINT_CLEAR ( )    senf::scheduler::detail::FIFORunner::instance().watchdogCheckpoint(nullptr);

Definition at line 408 of file Scheduler.hh.

◆ SENF_SCHEDULER_WATCHDOG_CHECKPOINT_SET

#define SENF_SCHEDULER_WATCHDOG_CHECKPOINT_SET ( )
Value:
__FILE__ ":" BOOST_PP_STRINGIZE(__LINE__));

Definition at line 404 of file Scheduler.hh.