summaryrefslogtreecommitdiff
path: root/TAO/tao/Invocation.cpp
diff options
context:
space:
mode:
authornobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-08-30 22:18:03 +0000
committernobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-08-30 22:18:03 +0000
commita479078c9f8ff4c0c17c679468298f61c19230d9 (patch)
treec185e1bc56840640bb1944f776499c6ffaa1dc0f /TAO/tao/Invocation.cpp
parentdd4501a0f6706b945705b7640d212ef444c3c68e (diff)
downloadATCD-pre_pluggable_av_merge.tar.gz
This commit was manufactured by cvs2svn to create tagpre_pluggable_av_merge
'pre_pluggable_av_merge'.
Diffstat (limited to 'TAO/tao/Invocation.cpp')
-rw-r--r--TAO/tao/Invocation.cpp53
1 files changed, 34 insertions, 19 deletions
diff --git a/TAO/tao/Invocation.cpp b/TAO/tao/Invocation.cpp
index 4837909b4a9..c9c3532095c 100644
--- a/TAO/tao/Invocation.cpp
+++ b/TAO/tao/Invocation.cpp
@@ -9,8 +9,6 @@
#include "tao/debug.h"
#include "tao/Pluggable.h"
#include "tao/Connector_Registry.h"
-#include "tao/Wait_Strategy.h"
-#include "tao/Transport_Mux_Strategy.h"
#if !defined (__ACE_INLINE__)
# include "tao/Invocation.i"
@@ -208,7 +206,7 @@ TAO_GIOP_Invocation::start (CORBA::Environment &ACE_TRY_ENV)
}
// Obtain unique request id from the RMS.
- this->request_id_ = this->transport_->tms()->request_id ();
+ this->request_id_ = this->transport_->request_id ();
countdown.update ();
}
@@ -368,9 +366,9 @@ TAO_GIOP_Invocation::location_forward (TAO_InputCDR &inp_stream,
// New for Multiple profile. Get the MProfile list from the
// forwarded object refererence
- this->stub_->add_forward_profiles (*stubobj->make_profiles ());
+ this->stub_->add_forward_profiles (*stubobj->get_profiles ());
// store the new profile list and set the first forwarding profile
- // note: this has to be and is thread safe. Also make_profiles() returns
+ // note: this has to be and is thread safe. Also get_profiles returns
// a pointer to a new MProfile object which we give to our
// TAO_Stub.
@@ -410,7 +408,7 @@ TAO_GIOP_Twoway_Invocation::start (CORBA::Environment &ACE_TRY_ENV)
this->profile_,
this->opname_,
this->request_id_,
- this->service_info_,
+ this->request_service_info_,
1,
this->out_stream_,
ACE_TRY_ENV);
@@ -592,9 +590,8 @@ TAO_GIOP_Twoway_Invocation::invoke_i (CORBA::Environment &ACE_TRY_ENV)
// preallocated reply dispatcher.
// Bind.
- int retval =
- this->transport_->tms ()->bind_dispatcher (this->request_id_,
- &this->rd_);
+ int retval = this->transport_->bind_reply_dispatcher (this->request_id_,
+ &this->rd_);
if (retval == -1)
{
// @@ What is the right way to handle this error?
@@ -646,9 +643,21 @@ TAO_GIOP_Twoway_Invocation::invoke_i (CORBA::Environment &ACE_TRY_ENV)
}
int reply_error =
- this->transport_->wait_strategy ()->wait (this->max_wait_time_,
- this->rd_.reply_received ());
-
+ this->transport_->wait_for_reply (this->max_wait_time_,
+ this->rd_.reply_received ());
+
+ // Do the wait loop till we receive the reply for this invocation.
+ // while (reply_error != -1 &&
+ // this->transport_->reply_received (this->request_id_) != 1)
+ // {
+ // // @@ Hack to init the Leader-Follower state, so that we can
+ // // wait again. (Alex).
+ // // this->transport_->wait_strategy ()->sending_request (this->orb_core_,
+ // // 1);
+ //
+ // // Wait for reply.
+ // reply_error = this->transport_->wait_for_reply ();
+ // }
if (TAO_debug_level > 0 && this->max_wait_time_ != 0)
{
@@ -689,7 +698,7 @@ TAO_GIOP_Twoway_Invocation::invoke_i (CORBA::Environment &ACE_TRY_ENV)
// Can you make sure we don't forget to do that on exceptions
// and/or errors.
// BTW, think about native exceptions where if the exception is
- // raised in the wait() method you won't get a chance
+ // raised in the wait_for_reply() method you won't get a chance
// to do that kind of error handling. Do you really need
// exceptions in the transport objects?
@@ -781,7 +790,7 @@ TAO_GIOP_Oneway_Invocation::start (CORBA::Environment &ACE_TRY_ENV)
this->profile_,
this->opname_,
this->request_id_,
- this->service_info_,
+ this->request_service_info_,
0,
this->out_stream_,
ACE_TRY_ENV);
@@ -825,9 +834,8 @@ TAO_GIOP_Locate_Request_Invocation::invoke (CORBA::Environment &ACE_TRY_ENV)
// preallocated reply dispatcher.
// Bind.
- int retval =
- this->transport_->tms ()->bind_dispatcher (this->request_id_,
- &this->rd_);
+ int retval = this->transport_->bind_reply_dispatcher (this->request_id_,
+ &this->rd_);
if (retval == -1)
{
// @@ What is the right way to handle this error?
@@ -871,8 +879,15 @@ TAO_GIOP_Locate_Request_Invocation::invoke (CORBA::Environment &ACE_TRY_ENV)
// Wait for the reply.
int reply_error =
- this->transport_->wait_strategy ()->wait (this->max_wait_time_,
- this->rd_.reply_received ());
+ this->transport_->wait_for_reply (this->max_wait_time_,
+ this->rd_.reply_received ());
+
+ // // Do the wait loop, till we receive the reply for this invocation.
+ // while (reply_error != -1 &&
+ // this->transport_->reply_received (this->request_id_) != 1)
+ // {
+ // reply_error = this->transport_->wait_for_reply ();
+ // }
// Check the reply error.
if (reply_error == -1)