# pion::one_to_one_scheduler Class Reference

`#include <scheduler.hpp>`

Inherits pion::multi_thread_scheduler.

List of all members.

## 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

## Detailed Description

one_to_one_scheduler: uses a single IO service for each thread

Definition at line 286 of file scheduler.hpp.

## Member Function Documentation

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)

Parameters:

  | n | integer number representing the service object

Definition at line 318 of file scheduler.hpp.

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

- include/pion/scheduler.hpp
- src/scheduler.cpp