diff options
Diffstat (limited to 'TAO/tao/Asynch_Invocation.cpp')
-rw-r--r-- | TAO/tao/Asynch_Invocation.cpp | 75 |
1 files changed, 4 insertions, 71 deletions
diff --git a/TAO/tao/Asynch_Invocation.cpp b/TAO/tao/Asynch_Invocation.cpp index 4f884f084fa..1d057a495a4 100644 --- a/TAO/tao/Asynch_Invocation.cpp +++ b/TAO/tao/Asynch_Invocation.cpp @@ -3,19 +3,19 @@ #include "tao/Asynch_Invocation.h" +ACE_RCSID(tao, Asynch_Invocation, "$Id$") + +#if (TAO_HAS_AMI_CALLBACK == 1) || (TAO_HAS_AMI_POLLER == 1) + #include "tao/Timeprobe.h" #include "tao/Stub.h" -#include "tao/Principal.h" #include "tao/Object_KeyC.h" #include "tao/Transport_Mux_Strategy.h" -#include "tao/debug.h" #if !defined (__ACE_INLINE__) # include "tao/Asynch_Invocation.i" #endif /* ! __ACE_INLINE__ */ -ACE_RCSID(tao, Asynch_Invocation, "$Id$") - #if defined (ACE_ENABLE_TIMEPROBES) static const char *TAO_Asynch_Invocation_Timeprobe_Description[] = @@ -49,8 +49,6 @@ ACE_TIMEPROBE_EVENT_DESCRIPTIONS (TAO_Asynch_Invocation_Timeprobe_Description, #endif /* ACE_ENABLE_TIMEPROBES */ -#if (TAO_HAS_AMI_CALLBACK == 1) || (TAO_HAS_AMI_POLLER == 1) - void TAO_GIOP_Twoway_Asynch_Invocation::start (CORBA::Environment &ACE_TRY_ENV) ACE_THROW_SPEC ((CORBA::SystemException)) @@ -110,68 +108,3 @@ TAO_GIOP_Twoway_Asynch_Invocation::invoke_i (CORBA::Environment &ACE_TRY_ENV) } #endif /* TAO_HAS_AMI_CALLBACK == 1 || TAO_HAS_AMI_POLLER == 1 */ - -//************************************************************************** - -#if (TAO_HAS_MINIMUM_CORBA == 0) - -void -TAO_GIOP_DII_Deferred_Invocation::start (CORBA::Environment &ACE_TRY_ENV) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->TAO_GIOP_Invocation::start (ACE_TRY_ENV); - ACE_CHECK; - - this->target_spec_.target_specifier (this->profile_->object_key ()); - this->transport_->start_request (this->orb_core_, - this->target_spec_, - this->out_stream_, - ACE_TRY_ENV); - ACE_CHECK; -} - -int -TAO_GIOP_DII_Deferred_Invocation::invoke (CORBA::Environment &ACE_TRY_ENV) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_FUNCTION_PP_TIMEPROBE (TAO_GIOP_ASYNCH_INVOCATION_INVOKE_START); - - return this->invoke_i (ACE_TRY_ENV); -} - - -int -TAO_GIOP_DII_Deferred_Invocation::invoke_i (CORBA::Environment &ACE_TRY_ENV) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // Register a reply dispatcher for this Asynch_Invocation. Use the - // heap allocated reply dispatcher. - - int retval = - this->transport_->tms ()->bind_dispatcher (this->op_details_.request_id (), - this->rd_); - if (retval == -1) - { - // @@ What is the right way to handle this error? - this->close_connection (); - ACE_THROW_RETURN (CORBA::INTERNAL (TAO_DEFAULT_MINOR_CODE, - CORBA::COMPLETED_NO), - TAO_INVOKE_EXCEPTION); - } - - // Just send the request, without trying to wait for the reply. - retval = TAO_GIOP_Invocation::invoke (0, - ACE_TRY_ENV); - ACE_CHECK_RETURN (retval); - - if (retval != TAO_INVOKE_OK) - return retval; - - // Everything executed ok; lets remember the transport for later. - this->rd_->transport (this->transport_); - - // We do not wait for the reply. Let us return. - return TAO_INVOKE_OK; -} - -#endif /* TAO_HAS_MINIMUM_CORBA */ |