Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages

# ACE_Priority_Reactor Class Reference

Implements priority based dispatching. More...

`#include <Priority_Reactor.h>`

Inheritance diagram for ACE_Priority_Reactor:

[legend]
Collaboration diagram for ACE_Priority_Reactor:

[legend]
List of all members.

## Public Methods
| ACE_Priority_Reactor (ACE_Sig_Handler *=0, ACE_Timer_Queue *=0)
| Initialize <ACE_Priority_Reactor> with the default size. More...
| ACE_Priority_Reactor (size_t size, int restart=0, ACE_Sig_Handler *=0, ACE_Timer_Queue *=0)
| Initialize <ACE_Priority_Reactor> with size <size>. More...
virtual | ~ACE_Priority_Reactor (void)
| Close down the select_reactor and release all of its resources. More...
void | dump (void) const
| Dump the state of an object. More...
## Public Attributes
| ACE_ALLOC_HOOK_DECLARE
| Declare the dynamic allocation hooks. More...
## Protected Methods
virtual int | dispatch_io_set (int number_of_active_handles, int &number_dispatched, int mask, ACE_Handle_Set &dispatch_mask, ACE_Handle_Set &ready_mask, ACE_EH_PTMF callback)
| We simply override this function to implement the priority dispatching. More...
## Private Types
typedef ACE_Unbounded_Queue< ACE_Event_Tuple > | QUEUE
| There is a queue per-priority, which simply holds the Event_Handlers until we know who goes first. More...
## Private Methods
void | init_bucket (void)
| A small helper to initialize the bucket. More...
| ACE_Priority_Reactor (const ACE_Select_Reactor &)
| Deny access since member-wise won't work... More...
ACE_Priority_Reactor & | operator= (const ACE_Select_Reactor &)
## Private Attributes
QUEUE ** | bucket_
ACE_Allocator * | tuple_allocator_
| The queues themselves use this allocator to minimize dynamic memory usage. More...

## Detailed Description

Implements priority based dispatching.

This class refines the dispatching mechanism for the Select_Reactor by taking advantage of the priority method on ACE_Event_Handler.

## Member Typedef Documentation

typedef ACE_Unbounded_Queue<ACE_Event_Tuple> ACE_Priority_Reactor::QUEUE`[private]`

| There is a queue per-priority, which simply holds the Event_Handlers until we know who goes first.

## Constructor & Destructor Documentation

ACE_Priority_Reactor::ACE_Priority_Reactor | ( | ACE_Sig_Handler * | sh = 0,
|  | ACE_Timer_Queue * | tq = 0
| ) |

| Initialize <ACE_Priority_Reactor> with the default size.

ACE_Priority_Reactor::ACE_Priority_Reactor | ( | size_t | size,
|  | int | rs = 0,
|  | ACE_Sig_Handler * | sh = 0,
|  | ACE_Timer_Queue * | tq = 0
| ) |

| Initialize <ACE_Priority_Reactor> with size <size>.

ACE_Priority_Reactor::~ACE_Priority_Reactor | ( | void |  | ) | `[virtual]`

| Close down the select_reactor and release all of its resources.

ACE_Priority_Reactor::ACE_Priority_Reactor | ( | const ACE_Select_Reactor & |  | ) | `[private]`

| Deny access since member-wise won't work...

## Member Function Documentation

int ACE_Priority_Reactor::dispatch_io_set | ( | int | number_of_active_handles,
|  | int & | number_dispatched,
|  | int | mask,
|  | ACE_Handle_Set & | dispatch_mask,
|  | ACE_Handle_Set & | ready_mask,
|  | ACE_EH_PTMF | callback
| ) | `[protected, virtual]`

| We simply override this function to implement the priority dispatching. Reimplemented from ACE_Select_Reactor_T.

void ACE_Priority_Reactor::dump | ( | void |  | ) | const`[virtual]`

| Dump the state of an object. Reimplemented from ACE_Reactor_Impl.

void ACE_Priority_Reactor::init_bucket | ( | void |  | ) | `[private]`

| A small helper to initialize the bucket.

ACE_Priority_Reactor& ACE_Priority_Reactor::operator= | ( | const ACE_Select_Reactor & |  | ) | `[private]`

## Member Data Documentation

ACE_Priority_Reactor::ACE_ALLOC_HOOK_DECLARE

| Declare the dynamic allocation hooks. Reimplemented from ACE_Reactor_Impl.

QUEUE** ACE_Priority_Reactor::bucket_`[private]`

ACE_Allocator* ACE_Priority_Reactor::tuple_allocator_`[private]`

| The queues themselves use this allocator to minimize dynamic memory usage.

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

- Priority_Reactor.h
- Priority_Reactor.cpp