TAO 2.0.4
|
#include <Muxed_TMS.h>
Using this strategy a single connection can have multiple outstanding requests. @ Can the performance of the demuxer be made more predictable, for example, using the request id as an active demux key?
TAO_Muxed_TMS::TAO_Muxed_TMS | ( | TAO_Transport * | transport | ) |
Constructor.
TAO_Muxed_TMS::~TAO_Muxed_TMS | ( | void | ) | [virtual] |
Destructor.
TAO_Muxed_TMS::TAO_Muxed_TMS | ( | const TAO_Muxed_TMS & | ) | [private] |
int TAO_Muxed_TMS::bind_dispatcher | ( | CORBA::ULong | request_id, |
ACE_Intrusive_Auto_Ptr< TAO_Reply_Dispatcher > | rd | ||
) | [virtual] |
Bind the dispatcher with the request id.
Implements TAO_Transport_Mux_Strategy.
int TAO_Muxed_TMS::clear_cache_i | ( | void | ) | [private] |
void TAO_Muxed_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_Muxed_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_Muxed_TMS::has_request | ( | void | ) | [virtual] |
Do we have a request pending.
Implements TAO_Transport_Mux_Strategy.
bool TAO_Muxed_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_Muxed_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.
void TAO_Muxed_TMS::operator= | ( | const TAO_Muxed_TMS & | ) | [private] |
int TAO_Muxed_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_Muxed_TMS::request_id | ( | void | ) | [virtual] |
Generate and return an unique request id for the current invocation.
Implements TAO_Transport_Mux_Strategy.
int TAO_Muxed_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.
Table of <Request ID, Reply Dispatcher> pairs.
ACE_Lock* TAO_Muxed_TMS::lock_ [private] |
Lock to protect the state of the object.
TAO_ORB_Core* const TAO_Muxed_TMS::orb_core_ [private] |
Keep track of the orb core pointer. We need to this to create the Reply Dispatchers.
Used to generate a different request_id on each call to request_id().