Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   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:

Inheritance graph
[legend]
Collaboration diagram for ACE_Priority_Reactor:

Collaboration graph
[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.

 ACE_Priority_Reactor (size_t size, int restart=0, ACE_Sig_Handler *=0, ACE_Timer_Queue *=0)
 Initialize <ACE_Priority_Reactor> with size <size>.

virtual ~ACE_Priority_Reactor (void)
 Close down the select_reactor and release all of its resources.

void dump (void) const
 Dump the state of an object.


Public Attributes

 ACE_ALLOC_HOOK_DECLARE
 Declare the dynamic allocation hooks.


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)

Private Types

typedef ACE_Unbounded_Queue<
ACE_Event_Tuple
QUEUE

Private Methods

void init_bucket (void)
 A small helper to initialize the bucket.

 ACE_Priority_Reactor (const ACE_Priority_Reactor &)
 Deny access since member-wise won't work...

ACE_Priority_Reactor & operator= (const ACE_Priority_Reactor &)

Private Attributes

QUEUE ** bucket_
ACE_Allocatortuple_allocator_

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   = 0,
ACE_Timer_Queue   = 0
 

Initialize <ACE_Priority_Reactor> with the default size.

ACE_Priority_Reactor::ACE_Priority_Reactor size_t    size,
int    restart = 0,
ACE_Sig_Handler   = 0,
ACE_Timer_Queue   = 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_Priority_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< ACE_Select_Reactor_Token >.

void ACE_Priority_Reactor::dump void    const [virtual]
 

Dump the state of an object.

Reimplemented from ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

void ACE_Priority_Reactor::init_bucket void    [private]
 

A small helper to initialize the bucket.

ACE_Priority_Reactor& ACE_Priority_Reactor::operator= const ACE_Priority_Reactor &    [private]
 


Member Data Documentation

ACE_Priority_Reactor::ACE_ALLOC_HOOK_DECLARE
 

Declare the dynamic allocation hooks.

Reimplemented from ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.

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:
Generated on Fri Apr 2 16:52:10 2004 for ACE by doxygen1.2.18