ACE
6.1.2
|
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.
|
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.
|
virtual |
Close down the select_reactor and release all of its resources.
|
private |
Deny access since member-wise won't work...
|
private |
Build the bucket from the given dispatch_mask. Return -1 on failure, 0 otherwise.
|
protectedvirtual |
We simply override this function to implement the priority dispatching.
Reimplemented from ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.
|
virtual |
Dump the state of an object.
Reimplemented from ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.
|
private |
A small helper to initialize the bucket.
|
private |
Declare the dynamic allocation hooks.
Reimplemented from ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.
|
private |
The queues themselves use this allocator to minimize dynamic memory usage.