#include <scheduler.hpp>
Inherits pion::multi_thread_scheduler.
Classes | |
struct | service_pair_type |
typedef for a pair object where first is an IO service and second is a deadline timer More... | |
Public Member Functions | |
one_to_one_scheduler (void) | |
constructs a new one_to_one_scheduler | |
virtual | ~one_to_one_scheduler () |
virtual destructor | |
virtual boost::asio::io_service & | get_io_service (void) |
returns an async I/O service used to schedule work | |
virtual boost::asio::io_service & | get_io_service (boost::uint32_t n) |
virtual void | startup (void) |
Starts the thread scheduler (this is called automatically when necessary). | |
Protected Types | |
typedef std::vector < boost::shared_ptr < service_pair_type > > | service_pool_type |
typedef for a pool of IO services | |
Protected Member Functions | |
virtual void | stop_services (void) |
stops all services used to schedule work | |
virtual void | finish_services (void) |
finishes all services used to schedule work | |
Protected Attributes | |
service_pool_type | m_service_pool |
pool of IO services used to schedule work | |
boost::uint32_t | m_next_service |
the next service to use for scheduling work |
one_to_one_scheduler: uses a single IO service for each thread
Definition at line 286 of file scheduler.hpp.
virtual boost::asio::io_service& pion::one_to_one_scheduler::get_io_service | ( | boost::uint32_t | n | ) | [inline, virtual] |
returns an async I/O service used to schedule work (provides direct access to avoid locking when possible)
n | integer number representing the service object |
Definition at line 318 of file scheduler.hpp.