TAO
2.1.8
|
Base class for TAO_Asynch_Reply_Dispatcher and TAO_DII_Deferred_Reply_Dispatcher. More...
#include <Asynch_Reply_Dispatcher_Base.h>
Public Member Functions | |
TAO_Asynch_Reply_Dispatcher_Base (TAO_ORB_Core *orb_core, ACE_Allocator *allocator=0) | |
Default constructor. More... | |
void | transport (TAO_Transport *t) |
Sets the transport for this invocation. More... | |
virtual long | schedule_timer (CORBA::ULong, const ACE_Time_Value &)=0 |
Install the timeout handler. More... | |
bool | try_dispatch_reply (void) |
A helper method that can be used by the subclasses. More... | |
![]() | |
TAO_Reply_Dispatcher (ACE_Allocator *allocator=0) | |
Constructor. More... | |
virtual | ~TAO_Reply_Dispatcher (void) |
Destructor. More... | |
virtual int | dispatch_reply (TAO_Pluggable_Reply_Params ¶ms)=0 |
virtual void | reply_timed_out (void)=0 |
Inform that the reply timed out. More... | |
virtual void | connection_closed (void)=0 |
GIOP::LocateStatusType | locate_reply_status (void) const |
Get the locate reply status. More... | |
GIOP::ReplyStatusType | reply_status (void) const |
Protected Member Functions | |
virtual | ~TAO_Asynch_Reply_Dispatcher_Base (void) |
Destructor. More... | |
Protected Attributes | |
IOP::ServiceContextList | reply_service_info_ |
The service context list. More... | |
char | buf_ [ACE_CDR::DEFAULT_BUFSIZE] |
The buffer that is used to initialise the data block. More... | |
ACE_Data_Block | db_ |
TAO_InputCDR | reply_cdr_ |
TAO_Transport * | transport_ |
This invocation is using this transport, may change... More... | |
![]() | |
GIOP::LocateStatusType | locate_reply_status_ |
LocateReply status. More... | |
GIOP::ReplyStatusType | reply_status_ |
Private Member Functions | |
void | operator= (const TAO_Asynch_Reply_Dispatcher_Base &) |
TAO_Asynch_Reply_Dispatcher_Base (const TAO_Asynch_Reply_Dispatcher_Base &) | |
Private Attributes | |
ACE_Lock * | lock_ |
Lock to protect is_reply_dispatched_ flag. More... | |
bool | is_reply_dispatched_ |
Has the reply been dispatched? More... | |
Additional Inherited Members | |
![]() | |
static void | intrusive_add_ref (TAO_Reply_Dispatcher *) |
static void | intrusive_remove_ref (TAO_Reply_Dispatcher *) |
Base class for TAO_Asynch_Reply_Dispatcher and TAO_DII_Deferred_Reply_Dispatcher.
TAO_Asynch_Reply_Dispatcher_Base::TAO_Asynch_Reply_Dispatcher_Base | ( | TAO_ORB_Core * | orb_core, |
ACE_Allocator * | allocator = 0 |
||
) |
Default constructor.
|
protectedvirtual |
Destructor.
|
private |
|
private |
|
pure virtual |
Install the timeout handler.
void TAO_Asynch_Reply_Dispatcher_Base::transport | ( | TAO_Transport * | t | ) |
Sets the transport for this invocation.
bool TAO_Asynch_Reply_Dispatcher_Base::try_dispatch_reply | ( | void | ) |
A helper method that can be used by the subclasses.
The semantics of this helper method needs careful attention. A call to this method will do the following
Why are we clumping everything in one method. Answer is we need atomicity?
|
protected |
The buffer that is used to initialise the data block.
|
protected |
Datablock that is created on the stack to initialise the CDR stream underneath.
|
private |
Has the reply been dispatched?
|
private |
Lock to protect is_reply_dispatched_
flag.
|
protected |
CDR stream which has the reply information that needs to be demarshalled by the stubs
|
protected |
The service context list.
Note, that this is not a reference as in the synchronous case. We own the reply_service_info because our TAO_Asynch_Invocation or TAO_DII_Deferred_Invocation will go out of scope before we are done.
|
protected |
This invocation is using this transport, may change...