diff options
Diffstat (limited to 'TAO/tao/Asynch_Invocation.cpp')
-rw-r--r-- | TAO/tao/Asynch_Invocation.cpp | 129 |
1 files changed, 0 insertions, 129 deletions
diff --git a/TAO/tao/Asynch_Invocation.cpp b/TAO/tao/Asynch_Invocation.cpp deleted file mode 100644 index 204805dd43e..00000000000 --- a/TAO/tao/Asynch_Invocation.cpp +++ /dev/null @@ -1,129 +0,0 @@ -// $Id$ - -#include "tao/Asynch_Invocation.h" - -#if defined (TAO_HAS_CORBA_MESSAGING) && defined (TAO_POLLER) - -#include "tao/Timeprobe.h" -#include "tao/Stub.h" -#include "tao/Principal.h" -#include "tao/Object_KeyC.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[] = - { - "GIOP_Asynch_Invocation::invoke - start", - "GIOP_Asynch_Invocation::invoke - end", - - "GIOP_Asynch_Invocation::start - enter", - "GIOP_Asynch_Invocation::start - leave", - "GIOP_Asynch_Invocation::start - connect", - "GIOP_Asynch_Invocation::start - start_msg", - "GIOP_Asynch_Invocation::start - request_hdr" - }; - -enum - { - TAO_GIOP_ASYNCH_INVOCATION_INVOKE_START = 1000, - TAO_GIOP_ASYNCH_INVOCATION_INVOKE_END, - - TAO_GIOP_ASYNCH_INVOCATION_START_ENTER, - TAO_GIOP_ASYNCH_INVOCATION_START_LEAVE, - TAO_GIOP_ASYNCH_INVOCATION_START_CONNECT, - TAO_GIOP_ASYNCH_INVOCATION_START_START_MSG, - TAO_GIOP_ASYNCH_INVOCATION_START_REQUEST_HDR - }; - - -// Setup Timeprobes -ACE_TIMEPROBE_EVENT_DESCRIPTIONS (TAO_Asynch_Invocation_Timeprobe_Description, - TAO_GIOP_ASYNCH_INVOCATION_INVOKE_START); - -#endif /* ACE_ENABLE_TIMEPROBES */ - -void -TAO_GIOP_Twoway_Asynch_Invocation::start (CORBA::Environment &ACE_TRY_ENV) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->TAO_GIOP_Invocation::start (ACE_TRY_ENV); - ACE_CHECK; - - this->transport_->start_request (this->orb_core_, - this->profile_, - this->opname_, - this->request_id_, - 1, - this->out_stream_, - ACE_TRY_ENV); -} - -int -TAO_GIOP_Twoway_Asynch_Invocation::invoke (CORBA::ExceptionList &exceptions, - CORBA::Environment &ACE_TRY_ENV) - ACE_THROW_SPEC ((CORBA::SystemException,CORBA::UnknownUserException)) -{ - TAO_FUNCTION_PP_TIMEPROBE (TAO_GIOP_ASYNCH_INVOCATION_INVOKE_START); - - int retval = this->invoke_i (ACE_TRY_ENV); - ACE_CHECK_RETURN (retval); - - return retval; -} - -int -TAO_GIOP_Twoway_Asynch_Invocation::invoke (TAO_Exception_Data *excepts, - CORBA::ULong except_count, - CORBA::Environment &ACE_TRY_ENV) - ACE_THROW_SPEC ((CORBA::Exception)) -{ - TAO_FUNCTION_PP_TIMEPROBE (TAO_GIOP_ASYNCH_INVOCATION_INVOKE_START); - - int retval = this->invoke_i (ACE_TRY_ENV); - ACE_CHECK_RETURN (retval); - - return retval; -} - -int -TAO_GIOP_Twoway_Asynch_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_->bind_reply_dispatcher (this->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 (1, ACE_TRY_ENV); - ACE_CHECK_RETURN (retval); - - if (retval != TAO_INVOKE_OK) - return retval; - - // We do not wait for the reply. Let us return. - - return TAO_INVOKE_OK; -} - -#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) -#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) -#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ - -#endif /* TAO_HAS_CORBA_MESSAGING && TAO_POLLER */ |