This structure contains information of the activated event handler.
#include <ace/TP_Reactor.h>
class ACE_EH_Dispatch_Info {
public:
ACE_EH_Dispatch_Info (void);
void set ( ACE_HANDLE handle, ACE_Event_Handler *event_handler, ACE_Reactor_Mask mask, ACE_EH_PTMF callback );
void reset (void);
int dispatch (void) const;
ACE_HANDLE handle_;
ACE_Event_Handler *event_handler_;
ACE_Reactor_Mask mask_;
ACE_EH_PTMF callback_;
int dispatch_;
};
run_event_loop
method, one of the thread will become the leader thread and wait
for an event. The other threads (followers) will be lined up
and waiting for their turns to become the leader. When an event
occurs, the leader will pick a follower to become the leader and
go on to handle the event. The consequence of using TP_Reactor
is the amortization of the costs used to creating threads. The
context switching cost will also reduce. More over, the total
resources used by threads are bounded (because there are only so
many threads.)
ACE_EH_Dispatch_Info (void);
void set (
ACE_HANDLE handle,
ACE_Event_Handler *event_handler,
ACE_Reactor_Mask mask,
ACE_EH_PTMF callback
);
void reset (void);
int dispatch (void) const;
ACE_HANDLE handle_;
ACE_Event_Handler *event_handler_;
ACE_Reactor_Mask mask_;
ACE_EH_PTMF callback_;
int dispatch_;