diff options
author | schmidt <douglascraigschmidt@users.noreply.github.com> | 1996-11-22 05:10:33 +0000 |
---|---|---|
committer | schmidt <douglascraigschmidt@users.noreply.github.com> | 1996-11-22 05:10:33 +0000 |
commit | 2f5432a85a66c5f618cdaf8032f13be787311a31 (patch) | |
tree | 5ece8e95375cf7088ce6633c23421ceaaab9b039 /ace/Event_Handler.h | |
parent | 88aa3350698954b097db8533a892fb45f6e59149 (diff) | |
download | ATCD-2f5432a85a66c5f618cdaf8032f13be787311a31.tar.gz |
*** empty log message ***
Diffstat (limited to 'ace/Event_Handler.h')
-rw-r--r-- | ace/Event_Handler.h | 31 |
1 files changed, 20 insertions, 11 deletions
diff --git a/ace/Event_Handler.h b/ace/Event_Handler.h index bb90a0e7c15..cad6955dfff 100644 --- a/ace/Event_Handler.h +++ b/ace/Event_Handler.h @@ -21,6 +21,9 @@ // Forward declaration. class ACE_Message_Block; +class ACE_Reactor; +class ACE_ReactorEx; +class ACE_Proactor; typedef u_long ACE_Reactor_Mask; @@ -64,8 +67,7 @@ public: virtual void set_handle (ACE_HANDLE); // Set the I/O handle. - // = Priority runs from MIN_PRIORITY (which is the "lowest - // priority") to MAX_PRIORITY (which is the "highest priority"). + // = Priority runs from MIN_PRIORITY (which is the "lowest priority") to MAX_PRIORITY (which is the "highest priority"). virtual int get_priority (void) const; // Get the priority of the Event_Handler. virtual void set_priority (int priority); @@ -93,15 +95,7 @@ public: // Called when object is signaled by OS (either via UNIX signals or // when a Win32 object becomes signaled). - // = <ACE_Proactor> callbacks. - // Win32 specific. An Event_Handler can be given to a Proactor - // with a {RECV,SEND}_MASK. The Proactor calls back - // <get_message> and <get_handle> to perform the correct - // operations (send/recv). When the send/recv is complete, - // handle_{input,output} is called. Thus, Event_Handlers are - // used for "proactive I/O" where they are told WHEN THE - // OPERATION IS COMPLETE. Alternatively, the _Reactor_ tells - // Event_Handlers WHEN THE OPERATION CAN BE PERFORMED. + // = <ACE_Proactor> callbacks. These are Win32 specific. An Event_Handler can be given to a Proactor with a {RECV,SEND}_MASK. The Proactor calls back <get_message> and <get_handle> to perform the correct operations (send/recv). When the send/recv is complete, handle_{input,output} is called. Thus, Event_Handlers are used for "proactive I/O" where they are told WHEN THE OPERATION IS COMPLETE. Alternatively, the _Reactor_ tells Event_Handlers WHEN THE OPERATION CAN BE PERFORMED. virtual int handle_input_complete (ACE_Message_Block *message, long bytes_transferred); @@ -134,12 +128,27 @@ public: // <Event_Handler> with its contents filled in. By default, // get_message dynamically creates a new ACE_Message_Block. + // = Accessors to set/get the various event demultiplexors. + virtual void reactor (ACE_Reactor *reactor); + virtual ACE_Reactor *reactor (void) const; + + virtual void reactorex (ACE_ReactorEx *reactorex); + virtual ACE_ReactorEx *reactorex (void) const; + + virtual void proactor (ACE_Proactor *proactor); + virtual ACE_Proactor *proactor (void) const; + protected: ACE_Event_Handler (void); // Force ACE_Event_Handler to be an abstract base class. int priority_; // Priority of this Event_Handler. + + // = Pointers to the various event demultiplexors. + ACE_Reactor *reactor_; + ACE_ReactorEx *reactorex_; + ACE_Proactor *proactor_; }; #if defined (__ACE_INLINE__) |