diff options
author | Bernard Normier <bernard@zeroc.com> | 2019-11-01 11:24:52 -0400 |
---|---|---|
committer | Joe George <joe@zeroc.com> | 2021-02-02 10:55:08 -0500 |
commit | 336c68e6e413f45a7269ca6e83850d9e1ef9f751 (patch) | |
tree | d3fc90d53718041c9760cde317b8be194a20807c /cpp/test/Glacier2/override/Client.cpp | |
parent | Remove Ice::Application & Glacier2::Application deprecated classes (diff) | |
download | ice-336c68e6e413f45a7269ca6e83850d9e1ef9f751.tar.bz2 ice-336c68e6e413f45a7269ca6e83850d9e1ef9f751.tar.xz ice-336c68e6e413f45a7269ca6e83850d9e1ef9f751.zip |
Update Glacier2 tests to use C++11 mapping
Diffstat (limited to 'cpp/test/Glacier2/override/Client.cpp')
-rw-r--r-- | cpp/test/Glacier2/override/Client.cpp | 87 |
1 files changed, 44 insertions, 43 deletions
diff --git a/cpp/test/Glacier2/override/Client.cpp b/cpp/test/Glacier2/override/Client.cpp index 1b8d5833b36..7483d000ae4 100644 --- a/cpp/test/Glacier2/override/Client.cpp +++ b/cpp/test/Glacier2/override/Client.cpp @@ -2,58 +2,59 @@ // Copyright (c) ZeroC, Inc. All rights reserved. // -#include <IceUtil/IceUtil.h> #include <Ice/Ice.h> #include <Glacier2/Router.h> #include <TestHelper.h> #include <CallbackI.h> +#include <chrono> using namespace std; +using namespace std::chrono_literals; + using namespace Ice; using namespace Test; -class CallbackClient : public Test::TestHelper +class CallbackClient final : public Test::TestHelper { public: - void run(int, char**); + void run(int, char**) override; }; void CallbackClient::run(int argc, char** argv) { - Ice::PropertiesPtr properties = createTestProperties(argc, argv); + auto properties = createTestProperties(argc, argv); properties->setProperty("Ice.Warn.Connections", "0"); properties->setProperty("Ice.ThreadPool.Client.Serialize", "1"); Ice::CommunicatorHolder communicator = initialize(argc, argv, properties); - ObjectPrx routerBase = communicator->stringToProxy("Glacier2/router:" + getTestEndpoint(50)); - Glacier2::RouterPrx router = Glacier2::RouterPrx::checkedCast(routerBase); + auto routerBase = communicator->stringToProxy("Glacier2/router:" + getTestEndpoint(50)); + auto router = checkedCast<Glacier2::RouterPrx>(routerBase); communicator->setDefaultRouter(router); - ObjectPrx base = communicator->stringToProxy("c/callback:" + getTestEndpoint()); - Glacier2::SessionPrx session = router->createSession("userid", "abc123"); + auto base = communicator->stringToProxy("c/callback:" + getTestEndpoint()); + auto session = router->createSession("userid", "abc123"); base->ice_ping(); - CallbackPrx twoway = CallbackPrx::checkedCast(base); - CallbackPrx oneway = twoway->ice_oneway(); - CallbackPrx batchOneway = twoway->ice_batchOneway(); + auto twoway = checkedCast<CallbackPrx>(base); + auto oneway = twoway->ice_oneway(); + auto batchOneway = twoway->ice_batchOneway(); communicator->getProperties()->setProperty("Ice.PrintAdapterReady", "0"); - ObjectAdapterPtr adapter = communicator->createObjectAdapterWithRouter("CallbackReceiverAdapter", router); + auto adapter = communicator->createObjectAdapterWithRouter("CallbackReceiverAdapter", router); adapter->activate(); string category = router->getCategoryForClient(); - CallbackReceiverI* callbackReceiverImpl = new CallbackReceiverI; - ObjectPtr callbackReceiver = callbackReceiverImpl; + auto callbackReceiver = make_shared<CallbackReceiverI>(); Identity callbackReceiverIdent; callbackReceiverIdent.name = "callbackReceiver"; callbackReceiverIdent.category = category; - CallbackReceiverPrx twowayR = - CallbackReceiverPrx::uncheckedCast(adapter->add(callbackReceiver, callbackReceiverIdent)); - CallbackReceiverPrx onewayR = twowayR->ice_oneway(); + auto twowayR = + uncheckedCast<CallbackReceiverPrx>(adapter->add(callbackReceiver, callbackReceiverIdent)); + auto onewayR = twowayR->ice_oneway(); { cout << "testing client request override... " << flush; @@ -62,7 +63,7 @@ CallbackClient::run(int argc, char** argv) { oneway->initiateCallback(twowayR, 0); oneway->initiateCallback(twowayR, 0); - callbackReceiverImpl->callbackOK(2, 0); + callbackReceiver->callbackOK(2, 0); } } @@ -74,8 +75,8 @@ CallbackClient::run(int argc, char** argv) oneway->initiateCallback(twowayR, i, ctx); oneway->initiateCallback(twowayR, i, ctx); oneway->initiateCallback(twowayR, i, ctx); - IceUtil::ThreadControl::sleep(IceUtil::Time::milliSeconds(100)); - test(callbackReceiverImpl->callbackOK(1, i) < 3); + this_thread::sleep_for(100ms); + test(callbackReceiver->callbackOK(1, i) < 3); } } cout << "ok" << endl; @@ -90,17 +91,17 @@ CallbackClient::run(int argc, char** argv) oneway->initiateCallback(onewayR, i, ctx); oneway->initiateCallback(onewayR, i, ctx); oneway->initiateCallback(onewayR, i, ctx); - IceUtil::ThreadControl::sleep(IceUtil::Time::milliSeconds(100)); - test(callbackReceiverImpl->callbackOK(1, i) < 3); + this_thread::sleep_for(100ms); + test(callbackReceiver->callbackOK(1, i) < 3); } oneway->initiateCallback(twowayR, 0); - test(callbackReceiverImpl->callbackOK(1, 0) == 0); + test(callbackReceiver->callbackOK(1, 0) == 0); int count = 0; int nRetry = 0; do { - callbackReceiverImpl->hold(); + callbackReceiver->hold(); oneway->initiateCallbackWithPayload(onewayR, ctx); oneway->initiateCallbackWithPayload(onewayR, ctx); oneway->initiateCallbackWithPayload(onewayR, ctx); @@ -112,18 +113,18 @@ CallbackClient::run(int argc, char** argv) oneway->initiateCallbackWithPayload(onewayR, ctx); oneway->initiateCallbackWithPayload(onewayR, ctx); oneway->initiateCallback(twowayR, 0); - IceUtil::ThreadControl::sleep(IceUtil::Time::milliSeconds(200 + nRetry * 200)); - callbackReceiverImpl->activate(); - test(callbackReceiverImpl->callbackOK(1, 0) == 0); - count = callbackReceiverImpl->callbackWithPayloadOK(0); - callbackReceiverImpl->callbackWithPayloadOK(count); + this_thread::sleep_for(chrono::milliseconds(200 + nRetry * 200)); + callbackReceiver->activate(); + test(callbackReceiver->callbackOK(1, 0) == 0); + count = callbackReceiver->callbackWithPayloadOK(0); + callbackReceiver->callbackWithPayloadOK(count); } while(count == 10 && nRetry++ < 10); test(count < 10); oneway->initiateCallbackWithPayload(twowayR); oneway->initiateCallbackWithPayload(twowayR); - callbackReceiverImpl->hold(); + callbackReceiver->hold(); oneway->initiateCallbackWithPayload(twowayR); oneway->initiateCallback(onewayR, 0, ctx); oneway->initiateCallback(onewayR, 0, ctx); @@ -131,11 +132,11 @@ CallbackClient::run(int argc, char** argv) oneway->initiateCallback(onewayR, 0, ctx); oneway->initiateCallback(onewayR, 0, ctx); oneway->initiateCallbackWithPayload(twowayR); - IceUtil::ThreadControl::sleep(IceUtil::Time::milliSeconds(1000)); - callbackReceiverImpl->activate(); - test(callbackReceiverImpl->callbackWithPayloadOK(4) == 0); + this_thread::sleep_for(1000ms); + callbackReceiver->activate(); + test(callbackReceiver->callbackWithPayloadOK(4) == 0); - int remainingCallbacks = callbackReceiverImpl->callbackOK(1, 0); + int remainingCallbacks = callbackReceiver->callbackOK(1, 0); // // Occasionally, Glacier2 flushes in the middle of our 5 // callbacks, so we get more than 1 callback @@ -147,13 +148,13 @@ CallbackClient::run(int argc, char** argv) test(remainingCallbacks <= 4); if(remainingCallbacks > 0) { - test(callbackReceiverImpl->callbackOK(remainingCallbacks, 0) == 0); + test(callbackReceiver->callbackOK(remainingCallbacks, 0) == 0); } ctx["_fwd"] = "O"; oneway->initiateCallbackWithPayload(twowayR); - callbackReceiverImpl->hold(); + callbackReceiver->hold(); oneway->initiateCallbackWithPayload(twowayR); oneway->initiateCallback(onewayR, 0, ctx); oneway->initiateCallback(onewayR, 0, ctx); @@ -161,16 +162,16 @@ CallbackClient::run(int argc, char** argv) oneway->initiateCallback(onewayR, 0, ctx); oneway->initiateCallback(onewayR, 0, ctx); oneway->initiateCallbackWithPayload(twowayR); - IceUtil::ThreadControl::sleep(IceUtil::Time::milliSeconds(200)); - callbackReceiverImpl->activate(); - test(callbackReceiverImpl->callbackWithPayloadOK(3) == 0); - remainingCallbacks = callbackReceiverImpl->callbackOK(1, 0); + this_thread::sleep_for(200ms); + callbackReceiver->activate(); + test(callbackReceiver->callbackWithPayloadOK(3) == 0); + remainingCallbacks = callbackReceiver->callbackOK(1, 0); // Unlikely but sometime we get more than just one callback if the flush // occurs in the middle of our 5 callbacks. test(remainingCallbacks <= 3); if(remainingCallbacks > 0) { - test(callbackReceiverImpl->callbackOK(remainingCallbacks, 0) == 0); + test(callbackReceiver->callbackOK(remainingCallbacks, 0) == 0); } cout << "ok" << endl; @@ -190,8 +191,8 @@ CallbackClient::run(int argc, char** argv) } communicator->setDefaultRouter(0); - ObjectPrx processBase = communicator->stringToProxy("Glacier2/admin -f Process:" + getTestEndpoint(51)); - Ice::ProcessPrx process = Ice::ProcessPrx::checkedCast(processBase); + auto processBase = communicator->stringToProxy("Glacier2/admin -f Process:" + getTestEndpoint(51)); + auto process = checkedCast<Ice::ProcessPrx>(processBase); process->shutdown(); try { |