TAO 4.0.2
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | Private Attributes | List of all members
TAO_Synch_Reply_Dispatcher Class Reference

Reply dispatcher for Synchronous Method Invocation (SMI)s. More...

#include <Synch_Reply_Dispatcher.h>

Inheritance diagram for TAO_Synch_Reply_Dispatcher:
Inheritance graph
[legend]
Collaboration diagram for TAO_Synch_Reply_Dispatcher:
Collaboration graph
[legend]

Public Member Functions

 TAO_Synch_Reply_Dispatcher (TAO_ORB_Core *orb_core, IOP::ServiceContextList &sc)
 Constructor.
 
virtual ~TAO_Synch_Reply_Dispatcher ()
 Destructor.
 
TAO_InputCDRreply_cdr ()
 Return the reply CDR.
 
virtual int dispatch_reply (TAO_Pluggable_Reply_Params &params)
 
virtual void connection_closed ()
 
virtual void reply_timed_out ()
 Inform that the reply timed out.
 
- Public Member Functions inherited from TAO_Reply_Dispatcher
 TAO_Reply_Dispatcher (ACE_Allocator *allocator=0)
 Constructor.
 
virtual ~TAO_Reply_Dispatcher ()
 Destructor.
 
GIOP::LocateStatusType locate_reply_status () const
 Get the locate reply status.
 
GIOP::ReplyStatusType reply_status () const
 
- Public Member Functions inherited from TAO_LF_Invocation_Event
 TAO_LF_Invocation_Event ()
 Constructor.
 
virtual ~TAO_LF_Invocation_Event ()
 Destructor.
 
- Public Member Functions inherited from TAO_LF_Event
 TAO_LF_Event ()
 Constructor.
 
virtual ~TAO_LF_Event ()
 Destructor.
 
virtual int bind (TAO_LF_Follower *follower)
 Bind a follower.
 
virtual int unbind (TAO_LF_Follower *follower)
 Unbind the follower.
 
void state_changed (LFS_STATE new_state, TAO_Leader_Follower &lf)
 
bool successful (TAO_Leader_Follower &lf) const
 
bool error_detected (TAO_Leader_Follower &lf) const
 
bool keep_waiting (TAO_Leader_Follower &lf) const
 Check if we should keep waiting.
 
void reset_state (LFS_STATE new_state)
 Reset the state, irrespective of the previous states.
 

Protected Attributes

IOP::ServiceContextListreply_service_info_
 The service context list.
 
- Protected Attributes inherited from TAO_Reply_Dispatcher
GIOP::LocateStatusType locate_reply_status_
 LocateReply status.
 
GIOP::ReplyStatusType reply_status_
 
- Protected Attributes inherited from TAO_LF_Event
LFS_STATE state_
 The current state.
 
TAO_LF_Followerfollower_
 The bounded follower.
 

Private Attributes

TAO_ORB_Coreorb_core_
 Cache the ORB Core pointer.
 
char buf_ [ACE_CDR::DEFAULT_BUFSIZE]
 The buffer that is used to initialise the data block.
 
ACE_Data_Block db_
 
TAO_InputCDR reply_cdr_
 

Additional Inherited Members

- Public Types inherited from TAO_LF_Event
enum  LFS_STATE {
  LFS_IDLE = 0 , LFS_ACTIVE , LFS_CONNECTION_WAIT , LFS_SUCCESS ,
  LFS_FAILURE , LFS_TIMEOUT , LFS_CONNECTION_CLOSED
}
 The current state. More...
 
- Static Public Member Functions inherited from TAO_Reply_Dispatcher
static void intrusive_add_ref (TAO_Reply_Dispatcher *)
 
static void intrusive_remove_ref (TAO_Reply_Dispatcher *)
 
- Static Public Member Functions inherited from TAO_LF_Event
static const char * state_name (LFS_STATE st)
 The current state.
 
- Protected Member Functions inherited from TAO_LF_Invocation_Event
virtual void state_changed_i (LFS_STATE new_state)
 Validate and perform the state change.
 
virtual bool successful_i () const
 
virtual bool error_detected_i () const
 
- Protected Member Functions inherited from TAO_LF_Event
bool keep_waiting_i () const
 Check if we should keep waiting.
 

Detailed Description

Reply dispatcher for Synchronous Method Invocation (SMI)s.

Constructor & Destructor Documentation

◆ TAO_Synch_Reply_Dispatcher()

TAO_Synch_Reply_Dispatcher::TAO_Synch_Reply_Dispatcher ( TAO_ORB_Core * orb_core,
IOP::ServiceContextList & sc )

Constructor.

◆ ~TAO_Synch_Reply_Dispatcher()

TAO_Synch_Reply_Dispatcher::~TAO_Synch_Reply_Dispatcher ( )
virtual

Destructor.

Member Function Documentation

◆ connection_closed()

void TAO_Synch_Reply_Dispatcher::connection_closed ( )
virtual

The used for the pending reply has been closed. No reply is expected.

Todo
If the connection was closed due to a CloseConnection message then we could re-issue the request instead of raising the exception, it would a matter of simply adding a boolean argument to this function.

Implements TAO_Reply_Dispatcher.

◆ dispatch_reply()

int TAO_Synch_Reply_Dispatcher::dispatch_reply ( TAO_Pluggable_Reply_Params & params)
virtual

Dispatch the reply. Return 1 on sucess, -1 on error.

Todo
Pluggable Messaging: this method has too many arguments, the "Right Thing"[tm] is for the Transport Object to create a "ClientReply" that encapsulates all we need to process a reply. Naturally it is possible that different messaging protocols implement different variants of such ClientReply class.

Implements TAO_Reply_Dispatcher.

◆ reply_cdr()

TAO_InputCDR & TAO_Synch_Reply_Dispatcher::reply_cdr ( )

Return the reply CDR.

◆ reply_timed_out()

void TAO_Synch_Reply_Dispatcher::reply_timed_out ( )
virtual

Inform that the reply timed out.

Implements TAO_Reply_Dispatcher.

Member Data Documentation

◆ buf_

char TAO_Synch_Reply_Dispatcher::buf_[ACE_CDR::DEFAULT_BUFSIZE]
private

The buffer that is used to initialise the data block.

◆ db_

ACE_Data_Block TAO_Synch_Reply_Dispatcher::db_
private

Datablock that is created on the stack to initialise the CDR stream underneath.

◆ orb_core_

TAO_ORB_Core* TAO_Synch_Reply_Dispatcher::orb_core_
private

Cache the ORB Core pointer.

◆ reply_cdr_

TAO_InputCDR TAO_Synch_Reply_Dispatcher::reply_cdr_
private

CDR stream which has the reply information that needs to be demarshalled by the stubs

◆ reply_service_info_

IOP::ServiceContextList& TAO_Synch_Reply_Dispatcher::reply_service_info_
protected

The service context list.


The documentation for this class was generated from the following files: