olsr::sch::Scheduler Class Reference

The scheduler class. More...

#include <scheduler.hh>

List of all members.

Public Types

typedef std::multiset
< TimedEvent *, tevent_less
teventset_t
typedef std::multiset< IOEvent
*, ioevent_less
ioeventset_t

Public Member Functions

 Scheduler (LoopHandler &)
 ~Scheduler ()
void insert (TimedEvent *e)
void erase (TimedEvent *e)
void insert (IOEvent *e)
void erase (IOEvent *e)
template<class E>
void destroy (E *e)
bool to_delete () const
void loop ()

Private Types

typedef Scheduler This

Private Member Functions

 Scheduler (const This &other)
Thisoperator= (const This &other)
void handle_tevents ()
void handle_ioevents ()

Private Attributes

teventset_t tevent_set_
 Set of timed events.
ioeventset_t ioevent_set_
 Set of I/O events.
LoopHandlerloophandler_
const Eventcurrent_event_
 Currently processed event.
bool delete_

Classes

struct  ioevent_less
struct  tevent_less


Detailed Description

The scheduler class.

Member Typedef Documentation


Constructor & Destructor Documentation

olsr::sch::Scheduler::Scheduler ( LoopHandler lh  )  [inline]

olsr::sch::Scheduler::~Scheduler (  )  [inline]

References destroy(), ioevent_set_, and tevent_set_.

olsr::sch::Scheduler::Scheduler ( const This other  )  [inline, private]


Member Function Documentation

This& olsr::sch::Scheduler::operator= ( const This other  )  [inline, private]

void olsr::sch::Scheduler::insert ( TimedEvent e  )  [inline]

void olsr::sch::Scheduler::erase ( TimedEvent e  )  [inline]

void olsr::sch::Scheduler::insert ( IOEvent e  )  [inline]

I/O event registering method. Add the pointer to the I/O events set.

  • e pointer to I/O event to register

References olsr::debug, olsr::utl::down(), ioevent_set_, olsr::sch::Event::name(), and olsr::utl::up().

void olsr::sch::Scheduler::erase ( IOEvent e  )  [inline]

template<class E>
void olsr::sch::Scheduler::destroy ( E *  e  )  [inline]

bool olsr::sch::Scheduler::to_delete (  )  const [inline]

References delete_.

void olsr::sch::Scheduler::handle_tevents (  )  [inline, private]

void olsr::sch::Scheduler::handle_ioevents (  )  [inline, private]

void olsr::sch::Scheduler::loop (  )  [inline]


Member Data Documentation

Set of timed events.

Referenced by erase(), handle_tevents(), insert(), loop(), and ~Scheduler().

Set of I/O events.

Referenced by erase(), handle_ioevents(), insert(), loop(), and ~Scheduler().

Referenced by loop().

Currently processed event.

Referenced by destroy(), handle_ioevents(), and handle_tevents().


The documentation for this class was generated from the following files:

Generated on Thu Feb 12 20:45:38 2009 for Qolyester daemon by  doxygen 1.5.6