summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/tests/Bug_2287_Regression/ServerRequest_Interceptor2.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/tests/Bug_2287_Regression/ServerRequest_Interceptor2.cpp')
-rw-r--r--TAO/orbsvcs/tests/Bug_2287_Regression/ServerRequest_Interceptor2.cpp176
1 files changed, 0 insertions, 176 deletions
diff --git a/TAO/orbsvcs/tests/Bug_2287_Regression/ServerRequest_Interceptor2.cpp b/TAO/orbsvcs/tests/Bug_2287_Regression/ServerRequest_Interceptor2.cpp
deleted file mode 100644
index 226898bcf40..00000000000
--- a/TAO/orbsvcs/tests/Bug_2287_Regression/ServerRequest_Interceptor2.cpp
+++ /dev/null
@@ -1,176 +0,0 @@
-// -*- C++ -*-
-
-#include "ServerRequest_Interceptor2.h"
-#include "orbsvcs/FT_CORBA_ORBC.h"
-#include "tao/IOP_IORC.h"
-#include "tao/ORB_Constants.h"
-#include "tao/AnyTypeCode/DynamicC.h"
-#include "tao/AnyTypeCode/TypeCode.h"
-#include "tao/CDR.h"
-#include "ace/Log_Msg.h"
-#include "ace/OS_NS_string.h"
-#include "ace/OS_NS_stdio.h"
-#include "ace/OS_NS_unistd.h"
-#include "Hello.h"
-#include "ace/OS_NS_sys_time.h"
-#include "tao/PI/PIForwardRequestC.h"
-
-ACE_RCSID (FaultTolerance,
- TAO249_ServerRequest_Interceptor2,
- "$Id$")
-
-CORBA::Object_var
-TAO249_ServerRequest_Interceptor2::server_iogr_ = CORBA::Object::_nil ();
-
-TAO249_ServerRequest_Interceptor2::TAO249_ServerRequest_Interceptor2 (void)
-: orb_ (0),
- expired_ (0)
-{
-}
-
-TAO249_ServerRequest_Interceptor2::~TAO249_ServerRequest_Interceptor2 (void)
-{
-}
-
-char *
-TAO249_ServerRequest_Interceptor2::name (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
-ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return CORBA::string_dup ("TAO_TAO249_ServerRequest_Interceptor2");
-}
-
-void
-TAO249_ServerRequest_Interceptor2::destroy (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
-ACE_THROW_SPEC ((CORBA::SystemException))
-{
-}
-
-void
-TAO249_ServerRequest_Interceptor2::receive_request_service_contexts (
- PortableInterceptor::ServerRequestInfo_ptr
- ACE_ENV_ARG_DECL)
-ACE_THROW_SPEC ((CORBA::SystemException,
- PortableInterceptor::ForwardRequest))
-{
-}
-
-void
-TAO249_ServerRequest_Interceptor2::receive_request (
- PortableInterceptor::ServerRequestInfo_ptr ri
- ACE_ENV_ARG_DECL_NOT_USED)
-ACE_THROW_SPEC ((CORBA::SystemException,
- PortableInterceptor::ForwardRequest))
-{
- CORBA::String_var op = ri->operation (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- if (ACE_OS::strcmp (op.in (), "throw_location_forward"))
- {
- // bail if not the op we are interested in -
- // avoid excess spurious error clutter when client calls ::shutdown
- return;
- }
-
-
- IOP::ServiceContext_var sc =
- ri->get_request_service_context (IOP::FT_REQUEST
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- TAO_InputCDR cdr (reinterpret_cast <const char*>
- (sc->context_data.get_buffer ()
- ),
- sc->context_data.length ());
-
- CORBA::Boolean byte_order;
-
- if ((cdr >> ACE_InputCDR::to_boolean (byte_order)) == 0)
- {
- ACE_THROW (CORBA::BAD_PARAM (CORBA::OMGVMCID | 28,
- CORBA::COMPLETED_NO));
- }
- ACE_CHECK;
-
- cdr.reset_byte_order (static_cast <int>(byte_order));
-
- FT::FTRequestServiceContext ftrsc;
-
- if ((cdr >> ftrsc) == 0)
- ACE_THROW (CORBA::BAD_PARAM (CORBA::OMGVMCID | 28,
- CORBA::COMPLETED_NO));
- ACE_CHECK;
-
- TimeBase::TimeT now = get_now ();
-
- if (now > ftrsc.expiration_time)
- {
- // We have passed the exp time... there should be no more retries received after this point...
- if (expired_)
- {
- // The client has retried after the expiration time. This is a regression
- ACE_DEBUG ((LM_ERROR, "Test Failed - REGRESSION !!! Client ORB is still retrying LOCATION_FORWARDs after the expiration time!!\n"));
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT("Expiration time : %Q\n"), ftrsc.expiration_time));
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT("Time now : %Q\n"), now));
-
- // Let the request 'succeed' rather than throwing a forward exception.
- return;
- }
- else
- {
- // A request has been recioved after the expiration time.
- // This could legitimately happen - it is only definitely a problem if
- // the client keeps on retrying after now. We set a flag so we can check for this.
- expired_ = 1;
- ACE_DEBUG ((LM_DEBUG, "The expiration time has now passed !!\n"));
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT("Expiration time : %Q\n"), ftrsc.expiration_time));
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT("Time now : %Q\n"), now));
- }
- }
-
- // Let's forward the client back to us again. I would like to be able to make this a PERM
- // but there's no such animal in the PortableInterceptor module. Plus as we (currently) transform
- // and marshal *all* forward requests as vanilla LOCATION_FORWARD it doesn't really matter.
- ACE_THROW (PortableInterceptor::ForwardRequest (server_iogr_.in ()));
-}
-
-TimeBase::TimeT
-TAO249_ServerRequest_Interceptor2::get_now (void)
-{
- // 1582...
- const TimeBase::TimeT timeOffset = ACE_UINT64_LITERAL (0x1B21DD213814000);
-
- // Now in posix
- ACE_Time_Value time_value = ACE_OS::gettimeofday ();
-
- TimeBase::TimeT sec_part = time_value.sec ();
- sec_part = sec_part * 10000000;
- TimeBase::TimeT usec_part = time_value.usec ();
- usec_part = usec_part * 10;
- return (sec_part + usec_part + timeOffset);
-}
-
-void
-TAO249_ServerRequest_Interceptor2::send_reply (
- PortableInterceptor::ServerRequestInfo_ptr
- ACE_ENV_ARG_DECL_NOT_USED)
-ACE_THROW_SPEC ((CORBA::SystemException))
-{
-}
-
-void
-TAO249_ServerRequest_Interceptor2::send_exception (
- PortableInterceptor::ServerRequestInfo_ptr
- ACE_ENV_ARG_DECL_NOT_USED)
-ACE_THROW_SPEC ((CORBA::SystemException,
- PortableInterceptor::ForwardRequest))
-{
-}
-
-void
-TAO249_ServerRequest_Interceptor2::send_other (
- PortableInterceptor::ServerRequestInfo_ptr
- ACE_ENV_ARG_DECL_NOT_USED)
-ACE_THROW_SPEC ((CORBA::SystemException,
- PortableInterceptor::ForwardRequest))
-{
-}
-