diff options
Diffstat (limited to 'ACE/TAO/orbsvcs/tests/Security/MT_SSLIOP/Client_Worker.cpp')
-rw-r--r-- | ACE/TAO/orbsvcs/tests/Security/MT_SSLIOP/Client_Worker.cpp | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/ACE/TAO/orbsvcs/tests/Security/MT_SSLIOP/Client_Worker.cpp b/ACE/TAO/orbsvcs/tests/Security/MT_SSLIOP/Client_Worker.cpp new file mode 100644 index 00000000000..5486e50e4e6 --- /dev/null +++ b/ACE/TAO/orbsvcs/tests/Security/MT_SSLIOP/Client_Worker.cpp @@ -0,0 +1,63 @@ +// $Id$ + +#include "Client_Worker.h" +#include "tao/debug.h" + +Client_Worker::Client_Worker (Simple_Server_ptr server, + Another_One_ptr another, + int niterations) + : server_ (Simple_Server::_duplicate(server)), + another_ (Another_One::_duplicate (another)), + niterations_ (niterations) +{ +} + +void +Client_Worker::validate_connection (void) +{ + // Ping the object 100 times, ignoring all exceptions. + // It would be better to use validate_connection() but the test must + // run on minimum CORBA builds too! + + for (int j = 0; j != 100; ++j) + { + try + { + this->server_->test_method (j); + this->another_->test_method (j); + if(TAO_debug_level > 0) + ACE_DEBUG (( LM_DEBUG, + "******** VALIDATED *******\n")); + } + catch (const CORBA::Exception&) + { + } + } +} + +int +Client_Worker::svc (void) +{ + + try + { + // Validate connections befire doing any actual work.. + this->validate_connection (); + + for (int i = 0; i < this->niterations_; ++i) + { + this->server_->test_method (i); + this->another_->test_method (i); + + if (TAO_debug_level > 0) + ACE_DEBUG ((LM_DEBUG, + " (%P|%t) iteration = %d\n", + i)); + } + } + catch (const CORBA::Exception& ex) + { + ex._tao_print_exception ("Client_Worker : Exception Raised"); + } + return 0; +} |