#include <Exclusive_TMS.h>
Public Member Functions | |
TAO_Exclusive_TMS (TAO_Transport *transport) | |
Constructor. | |
virtual | ~TAO_Exclusive_TMS (void) |
Destructor. | |
The TAO_Transport_Mux_Strategy overrided methods | |
virtual CORBA::ULong | request_id (void) |
virtual int | bind_dispatcher (CORBA::ULong request_id, ACE_Intrusive_Auto_Ptr< TAO_Reply_Dispatcher > rd) |
virtual int | unbind_dispatcher (CORBA::ULong request_id) |
virtual int | dispatch_reply (TAO_Pluggable_Reply_Params ¶ms) |
virtual int | reply_timed_out (CORBA::ULong request_id) |
virtual bool | idle_after_send (void) |
virtual bool | idle_after_reply (void) |
virtual void | connection_closed (void) |
virtual bool | has_request (void) |
Do we have a request pending. | |
Protected Attributes | |
CORBA::ULong | request_id_generator_ |
CORBA::ULong | request_id_ |
Request id for the current request. | |
ACE_Intrusive_Auto_Ptr < TAO_Reply_Dispatcher > | rd_ |
TAO_Exclusive_TMS::TAO_Exclusive_TMS | ( | TAO_Transport * | transport | ) |
Constructor.
TAO_Exclusive_TMS::~TAO_Exclusive_TMS | ( | void | ) | [virtual] |
Destructor.
int TAO_Exclusive_TMS::bind_dispatcher | ( | CORBA::ULong | request_id, | |
ACE_Intrusive_Auto_Ptr< TAO_Reply_Dispatcher > | rd | |||
) | [virtual] |
Bind the dispatcher with the request id. Commonalities in the derived class implementations is kept here.
Implements TAO_Transport_Mux_Strategy.
void TAO_Exclusive_TMS::connection_closed | ( | void | ) | [virtual] |
The transport object has closed the connection, inform all Reply dispatchers and waiting strategies.
Implements TAO_Transport_Mux_Strategy.
int TAO_Exclusive_TMS::dispatch_reply | ( | TAO_Pluggable_Reply_Params & | params | ) | [virtual] |
Dispatch the reply for request_id, cleanup any resources allocated for that request.
Implements TAO_Transport_Mux_Strategy.
bool TAO_Exclusive_TMS::has_request | ( | void | ) | [virtual] |
bool TAO_Exclusive_TMS::idle_after_reply | ( | void | ) | [virtual] |
Request is sent and the reply is received. Idle the transport now. The return value indicates whether idling was successful or not.
Implements TAO_Transport_Mux_Strategy.
bool TAO_Exclusive_TMS::idle_after_send | ( | void | ) | [virtual] |
Request has been just sent, but the reply is not received. Idle the transport now. The return value indicates whether idling was successful or not.
Implements TAO_Transport_Mux_Strategy.
int TAO_Exclusive_TMS::reply_timed_out | ( | CORBA::ULong | request_id | ) | [virtual] |
Dispatch a reply timeout for request request_id
Implements TAO_Transport_Mux_Strategy.
CORBA::ULong TAO_Exclusive_TMS::request_id | ( | void | ) | [virtual] |
Generate and return an unique request id for the current invocation.
Implements TAO_Transport_Mux_Strategy.
int TAO_Exclusive_TMS::unbind_dispatcher | ( | CORBA::ULong | request_id | ) | [virtual] |
Unbind the dispatcher, the client is no longer waiting for the request, for example, because the request timedout. The strategy can (must) cleanup any resources associated with the request. A later reply for that request should be ignored.
Implements TAO_Transport_Mux_Strategy.
Reply Dispatcher corresponding to the request. If this is zero we don't have a reply, if it not zero we have one
CORBA::ULong TAO_Exclusive_TMS::request_id_ [protected] |
Request id for the current request.
CORBA::ULong TAO_Exclusive_TMS::request_id_generator_ [protected] |
Used to generate a different request_id on each call to request_id().