Implements priority based dispatching. More...
#include <Priority_Reactor.h>


| Public Member Functions | |
| 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, bool restart=false, 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 Member Functions | |
| 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 Member Functions | |
| void | init_bucket (void) | 
| A small helper to initialize the bucket. | |
| int | build_bucket (ACE_Handle_Set &dispatch_mask, int &min_priority, int &max_priority) | 
| 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_Allocator * | tuple_allocator_ | 
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.
| 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.
| 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, | |
| bool | restart = false, | |||
| 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_Priority_Reactor & | ) |  [private] | 
Deny access since member-wise won't work...
| int ACE_Priority_Reactor::build_bucket | ( | ACE_Handle_Set & | dispatch_mask, | |
| int & | min_priority, | |||
| int & | max_priority | |||
| ) |  [private] | 
Build the bucket from the given dispatch_mask. Return -1 on failure, 0 otherwise.
| 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] | 
Reimplemented from ACE_Select_Reactor_Impl.
Declare the dynamic allocation hooks.
Reimplemented from ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.
| QUEUE** ACE_Priority_Reactor::bucket_  [private] | 
The queues themselves use this allocator to minimize dynamic memory usage.
 1.6.1
 1.6.1