diff options
author | nobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-08-30 22:18:03 +0000 |
---|---|---|
committer | nobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-08-30 22:18:03 +0000 |
commit | a479078c9f8ff4c0c17c679468298f61c19230d9 (patch) | |
tree | c185e1bc56840640bb1944f776499c6ffaa1dc0f /TAO/tao/Invocation.cpp | |
parent | dd4501a0f6706b945705b7640d212ef444c3c68e (diff) | |
download | ATCD-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.cpp | 53 |
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) |