summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/tests/Transport_Current/IIOP/IIOP_Server_Request_Interceptor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/tests/Transport_Current/IIOP/IIOP_Server_Request_Interceptor.cpp')
-rw-r--r--TAO/orbsvcs/tests/Transport_Current/IIOP/IIOP_Server_Request_Interceptor.cpp323
1 files changed, 0 insertions, 323 deletions
diff --git a/TAO/orbsvcs/tests/Transport_Current/IIOP/IIOP_Server_Request_Interceptor.cpp b/TAO/orbsvcs/tests/Transport_Current/IIOP/IIOP_Server_Request_Interceptor.cpp
index bbc77e6b8f0..92950ce0b7f 100644
--- a/TAO/orbsvcs/tests/Transport_Current/IIOP/IIOP_Server_Request_Interceptor.cpp
+++ b/TAO/orbsvcs/tests/Transport_Current/IIOP/IIOP_Server_Request_Interceptor.cpp
@@ -321,326 +321,3 @@ namespace Test {
}
}
-// -*- C++ -*-
-
-#include "ace/Log_Msg.h"
-#include "tao/ORB_Constants.h"
-#include "orbsvcs/Transport_Current/TC_IIOPC.h"
-
-ACE_RCSID (ForwardRequest,
- Server_Request_Interceptor,
- "$Id$")
-
-#include "IIOP_Server_Request_Interceptor.h"
-
-namespace Test {
-
- using namespace TAO;
-
- IIOP_Server_Request_Interceptor::IIOP_Server_Request_Interceptor (const char* orbid, TEST test)
- : Server_Request_Interceptor (orbid, test)
- , iiop_test_successful_ (true)
- , mult_thr_test_successful_ (true)
- {
- }
-
- IIOP_Server_Request_Interceptor::~IIOP_Server_Request_Interceptor (void)
- {
- }
-
- char *
- IIOP_Server_Request_Interceptor::name (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- return CORBA::string_dup ("II SRI");
- }
-
- ///
- TAO::Transport::IIOP::Current_ptr
- IIOP_Server_Request_Interceptor::resolve_iiop_transport_current (const char* orbid
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- CORBA::String_var name (this->name ());
-
- int tmpargc = 0;
- CORBA::ORB_var orb = CORBA::ORB_init (tmpargc,
- 0,
- orbid
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- CORBA::Object_var tcobject =
- orb->resolve_initial_references (ACE_TEXT_ALWAYS_CHAR ("TAO::Transport::IIOP::Current")
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- return TAO::Transport::IIOP::Current::_narrow (tcobject.in ()
- ACE_ENV_ARG_PARAMETER);
- }
-
- /// On every request, a client-supplied (via the context) id is used
- /// as index in an array, where we store the endpoint
- void
- IIOP_Server_Request_Interceptor::push_request_info (size_t requestID
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- CORBA::String_var name (this->name ());
-
- TAO::Transport::IIOP::Current_var tc =
- resolve_iiop_transport_current (this->orb_id_.in ()
- ACE_ENV_ARG_PARAMETER);
-
- CORBA::String_var host (tc->remote_host());
- EndPoint ep (tc->remote_port(), host.in ());
-
- if (requestID < sizeof (endPoints_))
- endPoints_[requestID] = ep;
- else
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("%s (%P|%t) ")
- ACE_TEXT ("push_request_info: Can't track that many requests %d\n"),
- name.in (),
- requestID));
-
- }
-
- void
- IIOP_Server_Request_Interceptor::pop_request_info (size_t requestID)
- {
- static EndPoint dummy;
- CORBA::String_var name (this->name ());
-
- if (requestID >= sizeof (endPoints_))
- {
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("%s (%P|%t) ")
- ACE_TEXT ("pop_request_info: Can't track that many requests %d\n"),
- name.in (),
- requestID));
- return;
- }
-
- TAO::Transport::IIOP::Current_var tc =
- resolve_iiop_transport_current (this->orb_id_.in ()
- ACE_ENV_ARG_PARAMETER);
-
- CORBA::String_var host (tc->remote_host());
- EndPoint ep (tc->remote_port(), host.in ());
-
- if (ep != endPoints_[requestID])
- {
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("%s (%P|%t) ")
- ACE_TEXT ("pop_request_info: The expected host and port don't match for request %d\n"),
- name.in (),
- requestID));
- return;
- }
-
- endPoints_[requestID] = dummy;
- }
-
-
- /// Checks if all the endpoints, encountered on the way in have been
- /// cleaned on the way out of the interception point
- bool
- IIOP_Server_Request_Interceptor::self_test (void)
- {
- CORBA::String_var name (this->name ());
- bool has_remaining_endpoints = false;
- for (size_t count = 0;
- count < sizeof (endPoints_);
- count ++)
- {
- if (endPoints_[count].port_ != 0)
- {
- has_remaining_endpoints = true;
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("%s (%S|%t) Endpoint at ")
- ACE_TEXT ("index=%d is not been removed yet\n"),
- name.in ()));
- }
- }
-
- return Server_Request_Interceptor::self_test ()
- && iiop_test_successful_
- && !has_remaining_endpoints;
- }
-
-
-
- void
- IIOP_Server_Request_Interceptor::inbound_process_context (PortableInterceptor::ServerRequestInfo_ptr ri
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- CORBA::String_var name (this->name ());
- CORBA::String_var op (ri->operation(ACE_ENV_ARG_PARAMETER));
- ACE_CHECK;
-
- if (TAO_debug_level >=1)
- ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT("%s (%P|%t) Intercepted operation %s ()\n"),
- name.in (),
- op.in ()));
-
- ACE_TRY
- {
- IOP::ServiceId id = Transport::CurrentTest::ContextTag;
- IOP::ServiceContext_var sc =
- ri->get_request_service_context (id
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- const char *buf =
- ACE_reinterpret_cast (const char *, sc->context_data.get_buffer ());
-
- long requestID = ACE_OS::atoi (buf);
-
- this->push_request_info (requestID);
- }
- ACE_CATCHANY
- {
- ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("%s (%P|%t) Service context")
- ACE_TEXT (" is unavailable when invoking %s (). ")
- ACE_TEXT ("A colocated invocation would have ")
- ACE_TEXT ("no service context.\n"),
- name.in (),
- op.in ()));
- }
- ACE_ENDTRY;
-
- }
-
- void
- IIOP_Server_Request_Interceptor::outbound_process_context (PortableInterceptor::ServerRequestInfo_ptr ri
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- IOP::ServiceId id = Transport::CurrentTest::ContextTag;
-
- IOP::ServiceContext_var sc =
- ri->get_request_service_context (id ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- const char *buf =
- ACE_reinterpret_cast (const char *, sc->context_data.get_buffer ());
-
- this->pop_request_info (ACE_OS::atoi (buf));
- }
-
-
-
-
-
-
- void
- IIOP_Server_Request_Interceptor::receive_request_service_contexts (PortableInterceptor::ServerRequestInfo_ptr ri
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- PortableInterceptor::ForwardRequest))
- {
- ACE_TRY
- {
- inbound_process_context (ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- CORBA::String_var name (this->name ());
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT("%s (%P|%t) Inbound_process_context failed in ")
- ACE_TEXT(" receive_request_service_contexts.\n"),
- name.in ()));
- }
- ACE_ENDTRY;
-
- Server_Request_Interceptor::receive_request_service_contexts (ri ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- }
-
-
- void
- IIOP_Server_Request_Interceptor::send_reply (PortableInterceptor::ServerRequestInfo_ptr ri
- ACE_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- ACE_TRY
- {
- outbound_process_context (ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- }
- ACE_CATCHANY
- {
- CORBA::String_var name (this->name ());
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT("%s (%P|%t) Outbound_process_context failed in ")
- ACE_TEXT("send_reply.\n"),
- name.in ()));
- }
- ACE_ENDTRY;
-
- Server_Request_Interceptor::send_reply (ri ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- }
-
- void
- IIOP_Server_Request_Interceptor::send_exception (PortableInterceptor::ServerRequestInfo_ptr ri
- ACE_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- PortableInterceptor::ForwardRequest))
- {
- ACE_TRY
- {
- outbound_process_context (ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
-
- }
- ACE_CATCHANY
- {
- CORBA::String_var name (this->name ());
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT("%s (%P|%t) Outbound_process_context failed in ")
- ACE_TEXT("send_exception.\n"),
- name.in ()));
-
- }
- ACE_ENDTRY;
-
- Server_Request_Interceptor::send_exception (ri ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-
- void
- IIOP_Server_Request_Interceptor::send_other (PortableInterceptor::ServerRequestInfo_ptr ri
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- PortableInterceptor::ForwardRequest))
- {
- ACE_TRY
- {
- outbound_process_context (ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- CORBA::String_var name (this->name ());
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT("%s (%P|%t) Outbound_process_context failed in ")
- ACE_TEXT("send_other.\n"),
- name.in ()));
- }
- ACE_ENDTRY;
-
- Server_Request_Interceptor::send_other (ri ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-
-}