#include <Asynch_Reply_Dispatcher_Base.h>
Inheritance diagram for TAO_Asynch_Reply_Dispatcher_Base:


Public Methods | |
| TAO_Asynch_Reply_Dispatcher_Base (TAO_ORB_Core *orb_core) | |
| Default constructor. | |
| void | transport (TAO_Transport *t) |
| Sets the transport for this invocation. | |
| virtual int | dispatch_reply (TAO_Pluggable_Reply_Params &)=0 |
| virtual void | connection_closed (void)=0 |
| virtual void | reply_timed_out (void)=0 |
| Inform that the reply timed out. | |
| virtual long | schedule_timer (CORBA::ULong, const ACE_Time_Value &ACE_ENV_ARG_DECL)=0 |
| Install the timeout handler. | |
| long | incr_refcount (void) |
| Mutators for refcount. | |
| long | decr_refcount (void) |
| bool | try_dispatch_reply (void) |
| A helper method that can be used by the sublcasses. | |
Protected Methods | |
| virtual | ~TAO_Asynch_Reply_Dispatcher_Base (void) |
| Destructor. | |
Protected Attributes | |
| IOP::ServiceContextList | reply_service_info_ |
| The service context list. | |
| char | buf_ [ACE_CDR::DEFAULT_BUFSIZE] |
| The buffer that is used to initialise the data block. | |
| ACE_Data_Block | db_ |
| TAO_InputCDR | reply_cdr_ |
| TAO_Transport * | transport_ |
| This invocation is using this transport, may change... | |
Private Attributes | |
| ACE_Lock * | lock_ |
| Lock to protect recount and <is_reply_dispatched_> flag. | |
| long | refcount_ |
| Refcount paraphernalia for this class. | |
| bool | is_reply_dispatched_ |
| Has the reply been dispatched? | |
|
|
Default constructor.
|
|
|
Destructor.
|
|
|
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 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. |
|
|
Mutators for refcount.
|
|
|
Inform that the reply timed out.
|
|
||||||||||||
|
Install the timeout handler.
|
|
|
Sets the transport for this invocation.
|
|
|
A helper method that can be used by the sublcasses. The semantics of this helper method needs careful attention. A call to this method will do the following
|
|
|
The buffer that is used to initialise the data block.
|
|
|
Datablock that is created on the stack to initialise the CDR stream underneath. |
|
|
Has the reply been dispatched?
|
|
|
Lock to protect recount and <is_reply_dispatched_> flag.
|
|
|
Refcount paraphernalia for this class.
|
|
|
CDR stream which has the reply information that needs to be demarshalled by the stubs |
|
|
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. |
|
|
This invocation is using this transport, may change...
|
1.2.18