summaryrefslogtreecommitdiff
path: root/TAO/tao/Transport_Mux_Strategy.h
diff options
context:
space:
mode:
authorcoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-04-30 02:49:28 +0000
committercoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-04-30 02:49:28 +0000
commit8bcedadb2ac8592f0d1de96b57e4eaa511be6820 (patch)
treeb69b3717a7092481cc24183300c30653e8e96ef6 /TAO/tao/Transport_Mux_Strategy.h
parentb5aa749b57bd12a920f41ab4e7fbce184add0dc8 (diff)
downloadATCD-8bcedadb2ac8592f0d1de96b57e4eaa511be6820.tar.gz
ChangeLogTag:Sat Apr 29 19:41:15 2000 Carlos O'Ryan <coryan@uci.edu>
Diffstat (limited to 'TAO/tao/Transport_Mux_Strategy.h')
-rw-r--r--TAO/tao/Transport_Mux_Strategy.h54
1 files changed, 13 insertions, 41 deletions
diff --git a/TAO/tao/Transport_Mux_Strategy.h b/TAO/tao/Transport_Mux_Strategy.h
index c3a9b1ac35b..b06b2baedad 100644
--- a/TAO/tao/Transport_Mux_Strategy.h
+++ b/TAO/tao/Transport_Mux_Strategy.h
@@ -66,6 +66,13 @@ public:
// Bind the dispatcher with the request id. Commonalities in the
// derived class implementations is kept here.
+ virtual void unbind_dispatcher (CORBA::ULong request_id);
+ // 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.
+
virtual int dispatch_reply (CORBA::ULong request_id,
CORBA::ULong reply_status,
const TAO_GIOP_Version& version,
@@ -120,40 +127,21 @@ public:
virtual ~TAO_Exclusive_TMS (void);
// Destructor.
+ // = Please read the documentation in the TAO_Transport_Mux_Strategy
+ // class.
virtual CORBA::ULong request_id (void);
- // Generate and return an unique request id for the current
- // invocation.
-
virtual int bind_dispatcher (CORBA::ULong request_id,
TAO_Reply_Dispatcher *rh);
- // Bind the dispatcher with the request id.
-
+ virtual void unbind_dispatcher (CORBA::ULong request_id);
virtual int dispatch_reply (CORBA::ULong request_id,
CORBA::ULong reply_status,
const TAO_GIOP_Version& version,
IOP::ServiceContextList& reply_ctx,
TAO_GIOP_Message_State* message_state);
- // Dispatch the reply for <request_id>, cleanup any resources
- // allocated for that request.
-
virtual TAO_GIOP_Message_State *get_message_state (void);
- // Return the pre-allocated message state.
-
virtual void destroy_message_state (TAO_GIOP_Message_State *);
- // No op in this strategy.
-
virtual int idle_after_send (void);
- // Request has been just sent, but the reply is not received. Idle
- // the transport now.
-
virtual int idle_after_reply (void);
- // Request is sent and the reply is received. Idle the transport
- // now.
-
- // virtual int reply_received (const CORBA::ULong request_id);
- // Check whether the reply has been receieved for the request with
- // <request_id>. Return 0 if no, 1 on yes and -1 if the request_id
- // is invalid or there are errors.
protected:
CORBA::ULong request_id_generator_;
@@ -197,36 +185,20 @@ public:
// Generate and return an unique request id for the current
// invocation.
+ // = Please read the documentation in the TAO_Transport_Mux_Strategy
+ // class.
virtual int bind_dispatcher (CORBA::ULong request_id,
TAO_Reply_Dispatcher *rh);
- // Bind the dispatcher with the request id.
-
+ virtual void unbind_dispatcher (CORBA::ULong request_id);
virtual int dispatch_reply (CORBA::ULong request_id,
CORBA::ULong reply_status,
const TAO_GIOP_Version& version,
IOP::ServiceContextList& reply_ctx,
TAO_GIOP_Message_State* message_state);
- // Dispatch the reply for <request_id>, cleanup any resources
- // allocated for that request.
-
virtual TAO_GIOP_Message_State *get_message_state (void);
- // Return the message state.
-
virtual void destroy_message_state (TAO_GIOP_Message_State *);
- // No op in this strategy.
-
virtual int idle_after_send (void);
- // Request has been just sent, but the reply is not received. Idle
- // the transport now.
-
virtual int idle_after_reply (void);
- // Request is sent and the reply is received. Idle the transport
- // now.
-
- // virtual int reply_received (const CORBA::ULong request_id);
- // Check whether the reply has been receieved for the request with
- // <request_id>. Return 0 if no, 1 on yes and -1 if the request_id
- // is invalid or there are errors.
protected:
CORBA::ULong request_id_generator_;