|
ACE 6.0.3
|
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] |
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.7.4