# pion::PionOneToOneScheduler Class Reference

`#include <PionScheduler.hpp>`

Inherits pion::PionMultiThreadScheduler.

List of all members.

## Detailed Description

PionOneToOneScheduler: uses a single IO service for each thread

Definition at line 286 of file PionScheduler.hpp.

## Public Member Functions

| PionOneToOneScheduler (void)
| constructs a new PionOneToOneScheduler
virtual | ~PionOneToOneScheduler ()
| virtual destructor
virtual boost::asio::io_service & | getIOService (void)
| returns an async I/O service used to schedule work
virtual boost::asio::io_service & | getIOService (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< ServicePair > > | ServicePool
| typedef for a pool of IO services

## Protected Member Functions

virtual void | stopServices (void)
| stops all services used to schedule work
virtual void | finishServices (void)
| finishes all services used to schedule work

## Protected Attributes

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

## Classes

struct | ServicePair
| typedef for a pair object where first is an IO service and second is a deadline timer More...

## Member Function Documentation

virtual boost::asio::io_service& pion::PionOneToOneScheduler::getIOService | ( | 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 PionScheduler.hpp.

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

- common/include/pion/PionScheduler.hpp
- common/src/PionScheduler.cpp