diff options
Diffstat (limited to 'TAO/tests/Timeout/client.cpp')
-rw-r--r-- | TAO/tests/Timeout/client.cpp | 244 |
1 files changed, 0 insertions, 244 deletions
diff --git a/TAO/tests/Timeout/client.cpp b/TAO/tests/Timeout/client.cpp deleted file mode 100644 index e6dcabc62ea..00000000000 --- a/TAO/tests/Timeout/client.cpp +++ /dev/null @@ -1,244 +0,0 @@ -// $Id$ - -#include "testC.h" -#include "ace/Get_Opt.h" - -ACE_RCSID(Timeout, client, "$Id$") - -const char *ior = "file://test.ior"; -int min_timeout = 0; -int max_timeout = 20; - -int -parse_args (int argc, char *argv[]) -{ - ACE_Get_Opt get_opts (argc, argv, "k:l:h:"); - int c; - - while ((c = get_opts ()) != -1) - switch (c) - { - case 'k': - ior = get_opts.optarg; - break; - - case 'l': - min_timeout = ACE_OS::atoi (get_opts.optarg); - break; - - case 'h': - max_timeout = ACE_OS::atoi (get_opts.optarg); - break; - - case '?': - default: - ACE_ERROR_RETURN ((LM_ERROR, - "usage: %s " - "-k <ior> " - "-l <min_timeout> " - "-h <max_timeout> " - "\n", - argv [0]), - -1); - } - // Indicates sucessful parsing of the command line - return 0; -} - -void -send_echo (Simple_Server_ptr server, - CORBA::Long t, - CORBA::Environment &ACE_TRY_ENV) -{ - ACE_TRY - { - server->echo (0, t, ACE_TRY_ENV); - ACE_TRY_CHECK; - - } - ACE_CATCH (CORBA::TIMEOUT, timeout) - { - // Trap this exception and continue... - ACE_DEBUG ((LM_DEBUG, - "==> Trapped a TIMEOUT exception (expected)\n")); - - // Sleep so the server can send the reply... - ACE_Time_Value tv (max_timeout / 1000, - (max_timeout % 1000) * 1000); - ACE_OS::sleep (tv); - } - ACE_ENDTRY; -} - - -int main (int argc, char* argv[]) -{ - ACE_TRY_NEW_ENV - { - CORBA::ORB_var orb = - CORBA::ORB_init (argc, argv, "", ACE_TRY_ENV); - ACE_TRY_CHECK; - - if (parse_args (argc, argv) != 0) - return 1; - - CORBA::Object_var object = - orb->string_to_object (ior, ACE_TRY_ENV); - ACE_TRY_CHECK; - - Simple_Server_var server = - Simple_Server::_narrow (object.in (), ACE_TRY_ENV); - ACE_TRY_CHECK; - - if (CORBA::is_nil (server.in ())) - { - ACE_ERROR_RETURN ((LM_ERROR, - "Object reference <%s> is nil\n", - ior), - 1); - } - - object = - orb->resolve_initial_references ("ORBPolicyManager", - ACE_TRY_ENV); - ACE_TRY_CHECK; - - CORBA::PolicyManager_var policy_manager = - CORBA::PolicyManager::_narrow (object.in (), ACE_TRY_ENV); - ACE_TRY_CHECK; - - object = - orb->resolve_initial_references ("PolicyCurrent", - ACE_TRY_ENV); - ACE_TRY_CHECK; - - CORBA::PolicyCurrent_var policy_current = - CORBA::PolicyCurrent::_narrow (object.in (), ACE_TRY_ENV); - ACE_TRY_CHECK; - - TimeBase::TimeT mid_value = - 10000 * (min_timeout + max_timeout) / 2; - - CORBA::Any any_orb; - any_orb <<= mid_value; - CORBA::Any any_thread; - any_thread <<= mid_value + 10000; - CORBA::Any any_object; - any_object <<= mid_value + 20000; - - CORBA::PolicyList policy_list (1); - policy_list.length (1); - policy_list[0] = - orb->create_policy (Messaging::RELATIVE_RT_TIMEOUT_POLICY_TYPE, - any_object, - ACE_TRY_ENV); - ACE_TRY_CHECK; - object = - server->_set_policy_overrides (policy_list, - CORBA::SET_OVERRIDE, - ACE_TRY_ENV); - ACE_TRY_CHECK; - - Simple_Server_var timeout_server = - Simple_Server::_narrow (object.in (), ACE_TRY_ENV); - ACE_TRY_CHECK; - - policy_list[0]->destroy (ACE_TRY_ENV); - policy_list[0] = CORBA::Policy::_nil (); - - for (CORBA::Long t = min_timeout; t != max_timeout; ++t) - { - ACE_DEBUG ((LM_DEBUG, - "\n================================\n" - "Trying with timeout = %d\n", t)); - - ACE_DEBUG ((LM_DEBUG, - "Cleanup ORB/Thread/Object policies\n")); - - policy_list.length (0); - policy_manager->set_policy_overrides (policy_list, - CORBA::SET_OVERRIDE, - ACE_TRY_ENV); - ACE_TRY_CHECK; - policy_current->set_policy_overrides (policy_list, - CORBA::SET_OVERRIDE, - ACE_TRY_ENV); - ACE_TRY_CHECK; - - send_echo (server.in (), t, ACE_TRY_ENV); - ACE_TRY_CHECK; - - ACE_DEBUG ((LM_DEBUG, - "client(%P) Set the ORB policies\n")); - - policy_list.length (1); - policy_list[0] = - orb->create_policy (Messaging::RELATIVE_RT_TIMEOUT_POLICY_TYPE, - any_orb, - ACE_TRY_ENV); - ACE_TRY_CHECK; - - policy_manager->set_policy_overrides (policy_list, - CORBA::SET_OVERRIDE, - ACE_TRY_ENV); - ACE_TRY_CHECK; - - send_echo (server.in (), t, ACE_TRY_ENV); - ACE_TRY_CHECK; - - policy_list[0]->destroy (ACE_TRY_ENV); - ACE_TRY_CHECK; - - ACE_DEBUG ((LM_DEBUG, - "client(%P) Set the thread policies\n")); - - policy_list.length (1); - policy_list[0] = - orb->create_policy (Messaging::RELATIVE_RT_TIMEOUT_POLICY_TYPE, - any_thread, - ACE_TRY_ENV); - ACE_TRY_CHECK; - - policy_current->set_policy_overrides (policy_list, - CORBA::SET_OVERRIDE, - ACE_TRY_ENV); - ACE_TRY_CHECK; - - send_echo (server.in (), t, ACE_TRY_ENV); - ACE_TRY_CHECK; - - policy_list[0]->destroy (ACE_TRY_ENV); - ACE_TRY_CHECK; - - ACE_DEBUG ((LM_DEBUG, - "client(%P) Use the object policies\n")); - send_echo (timeout_server.in (), t, ACE_TRY_ENV); - ACE_TRY_CHECK; - } - - ACE_DEBUG ((LM_DEBUG, - "\n\n\nclient(%P) Test completed, resynch with server\n")); - policy_list.length (0); - policy_manager->set_policy_overrides (policy_list, - CORBA::SET_OVERRIDE, - ACE_TRY_ENV); - ACE_TRY_CHECK; - policy_current->set_policy_overrides (policy_list, - CORBA::SET_OVERRIDE, - ACE_TRY_ENV); - ACE_TRY_CHECK; - - send_echo (server.in (), 0, ACE_TRY_ENV); - ACE_TRY_CHECK; - - server->shutdown (ACE_TRY_ENV); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Catched exception:"); - return 1; - } - ACE_ENDTRY; - return 0; -} |