Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

TAO_Resume_Handle Class Reference

A utility class that helps in resuming handlers if TAO uses a TP Reactor from ACE. More...

#include <Resume_Handle.h>

Collaboration diagram for TAO_Resume_Handle:

Collaboration graph
[legend]
List of all members.

Public Types

enum  TAO_Handle_Resume_Flag { TAO_HANDLE_RESUMABLE = 0, TAO_HANDLE_ALREADY_RESUMED, TAO_HANDLE_LEAVE_SUSPENDED }

Public Member Functions

 TAO_Resume_Handle (TAO_ORB_Core *orb_core=0, ACE_HANDLE h=ACE_INVALID_HANDLE)
 Ctor.
 ~TAO_Resume_Handle (void)
 Dtor.
void set_flag (TAO_Handle_Resume_Flag fl)
 Allow the users of this class to change the underlying flag.
TAO_Resume_Handleoperator= (const TAO_Resume_Handle &rhs)
 Equal to operator..
void resume_handle (void)

Private Attributes

TAO_ORB_Coreorb_core_
 Our ORB Core.
ACE_HANDLE handle_
 The actual handle that needs resumption..
TAO_Handle_Resume_Flag flag_

Detailed Description

A utility class that helps in resuming handlers if TAO uses a TP Reactor from ACE.

Please read the documentation in the bugzilla #575 in the bugzilla database what we mean by handler resumption.

When TAO uses a TP reactor, it takes care of resuming the handler once it makes sure that it has read the whole message out of the socket. During the process of reading the transport object would have to deal with errors in 'read' from the socket, or errors in the messages that has been received. Instead of calling resume_handler () on the reactor at every point in the code, we use this utility class to take care of the resumption.


Member Enumeration Documentation

enum TAO_Resume_Handle::TAO_Handle_Resume_Flag
 

Enumeration values:
TAO_HANDLE_RESUMABLE 
TAO_HANDLE_ALREADY_RESUMED 
TAO_HANDLE_LEAVE_SUSPENDED 


Constructor & Destructor Documentation

ACE_INLINE TAO_Resume_Handle::TAO_Resume_Handle TAO_ORB_Core orb_core = 0,
ACE_HANDLE  h = ACE_INVALID_HANDLE
 

Ctor.

ACE_INLINE TAO_Resume_Handle::~TAO_Resume_Handle void   ) 
 

Dtor.


Member Function Documentation

ACE_INLINE TAO_Resume_Handle & TAO_Resume_Handle::operator= const TAO_Resume_Handle rhs  ) 
 

Equal to operator..

void TAO_Resume_Handle::resume_handle void   ) 
 

Resume the handle in the reactor only if the ORB uses a TP reactor. Else we dont resume the handle.

ACE_INLINE void TAO_Resume_Handle::set_flag TAO_Handle_Resume_Flag  fl  ) 
 

Allow the users of this class to change the underlying flag.


Member Data Documentation

TAO_Handle_Resume_Flag TAO_Resume_Handle::flag_ [private]
 

The flag for indicating whether the handle has been resumed or not. A value of '0' indicates that the handle needs resumption.

ACE_HANDLE TAO_Resume_Handle::handle_ [private]
 

The actual handle that needs resumption..

TAO_ORB_Core* TAO_Resume_Handle::orb_core_ [private]
 

Our ORB Core.


The documentation for this class was generated from the following files:
Generated on Fri Dec 31 15:32:26 2004 for TAO by  doxygen 1.3.9.1