NAME

ACE_Priority_Reactor - Implements priority based dispatching.

SYNOPSIS

#include <ace/Priority_Reactor.h>

class ACE_Priority_Reactor : public ACE_Select_Reactor { public: ACE_Priority_Reactor ( ACE_Sig_Handler * = 0, ACE_Timer_Queue * = 0 ); ACE_Priority_Reactor ( size_t size, int restart = 0, ACE_Sig_Handler * = 0, ACE_Timer_Queue * = 0 ); virtual ~ACE_Priority_Reactor (void); void dump (void) const; ACE_ALLOC_HOOK_DECLARE; protected: 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: void init_bucket (void); typedef ACE_Unbounded_Queue<ACE_Event_Tuple> QUEUE; QUEUE** bucket_; ACE_Allocator* tuple_allocator_; ACE_Priority_Reactor (const ACE_Select_Reactor &); ACE_Priority_Reactor &operator = (const ACE_Select_Reactor &); };

DESCRIPTION

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

Initialization and termination methods.

ACE_Priority_Reactor (ACE_Sig_Handler * = 0, ACE_Timer_Queue * = 0);

ACE_Priority_Reactor (
    size_t size,
    int restart = 0,
    ACE_Sig_Handler * = 0,
    ACE_Timer_Queue * = 0
    );

virtual ~ACE_Priority_Reactor (void);

void dump (void) const;

ACE_ALLOC_HOOK_DECLARE;

Dispatching 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
    );

AUTHOR

Doug Schmidt

LIBRARY

ace