ACT::Basic_Scheduler< Aspect > Class Template Reference

A basic implementation of a scheduler. More...

#include <Scheduler.hpp>

Inheritance diagram for ACT::Basic_Scheduler< Aspect >:

ACT::Scheduler ACT::Handled< T, Aspect >

List of all members.

Public Member Functions

 Basic_Scheduler (aspect_type aspect=aspect_type())
 Default constructor is private to enforce singleton.
void add_task (act)
 Add an ordinary task into the scheduling queue.
void add_service (act)
 Add a service with indefinite lifetime.
void add_critical_service (act)
void operator() ()
 The main execution loop.
bool ordinary_tasks_available ()
bool empty ()
void reset ()

Friends

class Basic_Wakeup_Listener< Basic_Scheduler >


Detailed Description

template<template< class > class Aspect = aspect::Null_Aspect_0>
class ACT::Basic_Scheduler< Aspect >

A basic implementation of a scheduler.

This may not be the final production version of a scheduler. Nevertheless, a scheduler which is as simple as possible, but still works as a scheduler, should be retained for testing. In particular, this scheduler does not have a timeout mechanism to detect stalled actions. This would be a defect in a production environment. Such an absence should be retained for the test environment, to be able to isolate defective actions that stall.


Constructor & Destructor Documentation

template<template< class > class Aspect>
ACT::Basic_Scheduler< Aspect >::Basic_Scheduler ( aspect_type  aspect = aspect_type()  )  [inline]

Default constructor is private to enforce singleton.


Member Function Documentation

template<template< class > class Aspect>
void ACT::Basic_Scheduler< Aspect >::add_task ( act  x  )  [inline, virtual]

Add an ordinary task into the scheduling queue.

Implements ACT::Scheduler.

template<template< class > class Aspect>
void ACT::Basic_Scheduler< Aspect >::add_service ( act   )  [inline, virtual]

Add a service with indefinite lifetime.

Implements ACT::Scheduler.

template<template< class > class Aspect>
void ACT::Basic_Scheduler< Aspect >::add_critical_service ( act   )  [inline]

template<template< class > class Aspect>
void ACT::Basic_Scheduler< Aspect >::operator() ( void   )  [inline]

The main execution loop.

template<template< class > class Aspect>
bool ACT::Basic_Scheduler< Aspect >::ordinary_tasks_available (  )  [inline, virtual]

Implements ACT::Scheduler.

template<template< class > class Aspect = aspect::Null_Aspect_0>
bool ACT::Basic_Scheduler< Aspect >::empty (  )  [inline]

template<template< class > class Aspect>
void ACT::Basic_Scheduler< Aspect >::reset (  )  [inline]


Friends And Related Function Documentation

template<template< class > class Aspect = aspect::Null_Aspect_0>
friend class Basic_Wakeup_Listener< Basic_Scheduler > [friend]


The documentation for this class was generated from the following files:
Generated on Thu Mar 6 18:25:09 2008 for Gnash by  doxygen 1.5.4