TAO 2.0.4
|
#include <Reply_Dispatcher.h>
Public Member Functions | |
TAO_Reply_Dispatcher (ACE_Allocator *allocator=0) | |
Constructor. | |
virtual | ~TAO_Reply_Dispatcher (void) |
Destructor. | |
virtual int | dispatch_reply (TAO_Pluggable_Reply_Params ¶ms)=0 |
virtual void | reply_timed_out (void)=0 |
Inform that the reply timed out. | |
virtual void | connection_closed (void)=0 |
GIOP::LocateStatusType | locate_reply_status (void) const |
Get the locate reply status. | |
GIOP::ReplyStatusType | reply_status (void) const |
Static Public Member Functions | |
static void | intrusive_add_ref (TAO_Reply_Dispatcher *) |
static void | intrusive_remove_ref (TAO_Reply_Dispatcher *) |
Protected Attributes | |
GIOP::LocateStatusType | locate_reply_status_ |
LocateReply status. | |
GIOP::ReplyStatusType | reply_status_ |
Private Attributes | |
ACE_Atomic_Op< TAO_SYNCH_MUTEX, long > | refcnt_ |
Support for intrusive reference counting. | |
ACE_Allocator * | allocator_ |
Different invocation modes process the Reply messages in different ways. Traditional synchronous replies simply receive the message and wake up the waiting thread (if any). Asynchronous Method Invocation (Callbacks) must process the message in the thread that receives it. Deferred Synchronous (DII) and AMI in the Poller mode save the reply for later processing in the application. The lower level components in the ORB only deal with this abstract interface, when the invocation is made the right type of Reply Dispatcher is instantiated and registered with the Transport object.
TAO_Reply_Dispatcher::TAO_Reply_Dispatcher | ( | ACE_Allocator * | allocator = 0 | ) |
Constructor.
TAO_Reply_Dispatcher::~TAO_Reply_Dispatcher | ( | void | ) | [virtual] |
Destructor.
virtual void TAO_Reply_Dispatcher::connection_closed | ( | void | ) | [pure virtual] |
The used for the pending reply has been closed. No reply is expected.
Implemented in TAO_Synch_Reply_Dispatcher.
virtual int TAO_Reply_Dispatcher::dispatch_reply | ( | TAO_Pluggable_Reply_Params & | params | ) | [pure virtual] |
Dispatch the reply. Return 1 on sucess, -1 on error.
Implemented in TAO_Synch_Reply_Dispatcher.
void TAO_Reply_Dispatcher::intrusive_add_ref | ( | TAO_Reply_Dispatcher * | rd | ) | [static] |
void TAO_Reply_Dispatcher::intrusive_remove_ref | ( | TAO_Reply_Dispatcher * | rd | ) | [static] |
GIOP::LocateStatusType TAO_Reply_Dispatcher::locate_reply_status | ( | void | ) | const |
Get the locate reply status.
GIOP::ReplyStatusType TAO_Reply_Dispatcher::reply_status | ( | void | ) | const |
virtual void TAO_Reply_Dispatcher::reply_timed_out | ( | void | ) | [pure virtual] |
Inform that the reply timed out.
Implemented in TAO_Synch_Reply_Dispatcher.
ACE_Allocator* TAO_Reply_Dispatcher::allocator_ [private] |
Allocator that was used to allocate this reply dispatcher. In case of zero we come from the heap.
GIOP::LocateStatusType TAO_Reply_Dispatcher::locate_reply_status_ [protected] |
LocateReply status.
ACE_Atomic_Op<TAO_SYNCH_MUTEX, long> TAO_Reply_Dispatcher::refcnt_ [private] |
Support for intrusive reference counting.
GIOP::ReplyStatusType TAO_Reply_Dispatcher::reply_status_ [protected] |