public override int run(string[] args) { args = communicator().getProperties().parseCommandLineOptions("Discover", args); Ice.ObjectAdapter adapter = communicator().createObjectAdapter("DiscoverReply"); DiscoverReplyI replyI = new DiscoverReplyI(); DiscoverReplyPrx reply = DiscoverReplyPrxHelper.uncheckedCast(adapter.addWithUUID(replyI)); adapter.activate(); DiscoverPrx discover = DiscoverPrxHelper.uncheckedCast( communicator().propertyToProxy("Discover.Proxy").ice_datagram()); discover.lookup(reply); Ice.ObjectPrx obj = replyI.waitReply(2000); if (obj == null) { System.Console.Error.WriteLine(appName() + ": no replies"); return(1); } HelloPrx hello = HelloPrxHelper.checkedCast(obj); if (hello == null) { System.Console.Error.WriteLine(appName() + ": invalid reply"); return(1); } hello.sayHello(); return(0); }
public override int run(string[] args) { var adapter = communicator().createObjectAdapter("DiscoverReply"); var replyI = new DiscoverReplyI(); var reply = DiscoverReplyPrxHelper.uncheckedCast(adapter.addWithUUID(replyI)); adapter.activate(); var discover = DiscoverPrxHelper.uncheckedCast( communicator().propertyToProxy("Discover.Proxy").ice_datagram()); discover.lookup(reply); var obj = replyI.waitReply(2000); if (obj == null) { Console.Error.WriteLine(appName() + ": no replies"); return(1); } var hello = HelloPrxHelper.checkedCast(obj); if (hello == null) { Console.Error.WriteLine(appName() + ": invalid reply"); return(1); } hello.sayHello(); return(0); }
private static int run(Ice.Communicator communicator) { var hello = HelloPrxHelper.checkedCast(communicator.propertyToProxy("Hello.Proxy")); if (hello == null) { Console.Error.WriteLine("invalid proxy"); return(1); } menu(); string line = null; do { try { Console.Out.Write("==> "); Console.Out.Flush(); line = Console.In.ReadLine(); if (line == null) { break; } if (line.Equals("i")) { hello.sayHello(0); } else if (line.Equals("d")) { helloAsync(hello); } else if (line.Equals("s")) { hello.shutdown(); } else if (line.Equals("x")) { // Nothing to do } else if (line.Equals("?")) { menu(); } else { Console.Out.WriteLine("unknown command `" + line + "'"); menu(); } } catch (Ice.Exception ex) { Console.Error.WriteLine(ex); } }while(!line.Equals("x")); return(0); }
private static int run(Ice.Communicator communicator) { // // Get the hello proxy. We configure the proxy to not cache the // server connection with the proxy and to disable the locator // cache. With this configuration, the IceGrid locator will be // queried for each invocation on the proxy and the invocation // will be sent over the server connection matching the returned // endpoints. // var obj = communicator.stringToProxy("hello"); obj = obj.ice_connectionCached(false); obj = obj.ice_locatorCacheTimeout(0); var hello = HelloPrxHelper.checkedCast(obj); if (hello == null) { Console.Error.WriteLine("invalid proxy"); return(1); } while (true) { Console.Out.Write("enter the number of iterations: "); Console.Out.Flush(); string line = Console.In.ReadLine(); if (line == null || line.Equals("x")) { break; } int count = Convert.ToInt32(line); Console.Out.Write("enter the delay between each greetings (in ms): "); Console.Out.Flush(); line = Console.In.ReadLine(); if (line == null || line.Equals("x")) { break; } int delay = Convert.ToInt32(line); if (delay < 0) { delay = 500; // 500 milli-seconds } for (int i = 0; i < count; i++) { Console.Out.WriteLine(hello.getGreeting()); System.Threading.Thread.Sleep(delay); } } return(0); }
public override HelloPrx createHello(Ice.Current c) { lock (this) { if (_destroy) { throw new Ice.ObjectNotExistException(); } var hello = HelloPrxHelper.uncheckedCast(c.adapter.addWithUUID(new HelloI(_name, _nextId++))); _objs.Add(hello); return(hello); } }
public static int Main(string[] args) { int status = 0; try { // // The new communicator is automatically destroyed (disposed) at the end of the // using statement // using (var communicator = Ice.Util.initialize(ref args, "config.client")) { // // Destroy the communicator on Ctrl+C or Ctrl+Break // Console.CancelKeyPress += (sender, eventArgs) => communicator.destroy(); // // The communicator initialization removes all Ice-related arguments from args // if (args.Length > 0) { Console.Error.WriteLine("too many arguments"); status = 1; } else { var hello = HelloPrxHelper.uncheckedCast(communicator.propertyToProxy("Hello.Proxy")); if (hello == null) { Console.Error.WriteLine("Hello.Proxy not found"); status = 1; } else { hello.sayHello(); } } } } catch (Exception ex) { Console.Error.WriteLine(ex); status = 1; } return(status); }
public static int Main(string[] args) { try { Ice.Communicator communicator = Ice.Util.initialize(ref args); HelloPrx hello = HelloPrxHelper.checkedCast(communicator.stringToProxy("hello:tcp -p 10000")); hello.sayHello(); communicator.destroy(); return(0); } catch (System.Exception ex) { System.Console.Error.WriteLine(ex); return(1); } }
public static int Main(string[] args) { try { using (var communicator = Ice.Util.initialize(ref args)) { var hello = HelloPrxHelper.checkedCast( communicator.stringToProxy("hello:default -h localhost -p 10000")); hello.sayHello(); } return(0); } catch (Exception ex) { Console.Error.WriteLine(ex); return(1); } }
public override int run(string[] args) { if (args.Length > 0) { Console.Error.WriteLine(appName() + ": too many arguments"); return(1); } HelloPrx hello = HelloPrxHelper.uncheckedCast(communicator().propertyToProxy("Hello.Proxy")); if (hello == null) { Console.Error.WriteLine("Hello.Proxy not found"); return(1); } hello.sayHello(); return(0); }
public override HelloPrx getReplicatedHello(Ice.Current current) { return(HelloPrxHelper.uncheckedCast(_adapter1.createProxy( Ice.Util.stringToIdentity("hello")))); }
public override int run(string[] args) { if (args.Length > 0) { Console.Error.WriteLine(appName() + ": too many arguments"); return(1); } HelloPrx hello = null; try { hello = HelloPrxHelper.checkedCast(communicator().stringToProxy("hello")); } catch (Ice.NotRegisteredException) { IceGrid.QueryPrx query = IceGrid.QueryPrxHelper.checkedCast(communicator().stringToProxy("DemoIceGrid/Query")); hello = HelloPrxHelper.checkedCast(query.findObjectByType("::Demo::Hello")); } if (hello == null) { Console.WriteLine("couldn't find a `::Demo::Hello' object"); return(1); } menu(); string line = null; do { try { Console.Write("==> "); Console.Out.Flush(); line = Console.In.ReadLine(); if (line == null) { break; } if (line.Equals("t")) { hello.sayHello(); } else if (line.Equals("s")) { hello.shutdown(); } else if (line.Equals("x")) { // Nothing to do } else if (line.Equals("?")) { menu(); } else { Console.WriteLine("unknown command `" + line + "'"); menu(); } } catch (Ice.LocalException ex) { Console.WriteLine(ex); } }while(!line.Equals("x")); return(0); }
public override int run(string[] args) { if (args.Length > 0) { Console.Error.WriteLine(appName() + ": too many arguments"); return(1); } HelloPrx hello = HelloPrxHelper.checkedCast(communicator().propertyToProxy("Hello.Proxy")); if (hello == null) { Console.Error.WriteLine("invalid proxy"); return(1); } menu(); string line = null; do { try { Console.Out.Write("==> "); Console.Out.Flush(); line = Console.In.ReadLine(); if (line == null) { break; } if (line.Equals("t")) { hello.sayHello(); } else if (line.Equals("s")) { hello.shutdown(); } else if (line.Equals("x")) { // Nothing to do } else if (line.Equals("?")) { menu(); } else { Console.WriteLine("unknown command `" + line + "'"); menu(); } } catch (System.Exception ex) { Console.Error.WriteLine(ex); } }while (!line.Equals("x")); return(0); }
public override int run(string[] args) { if (args.Length > 0) { Console.Error.WriteLine(appName() + ": too many arguments"); return(1); } try { communicator().getPluginManager().getPlugin("IceSSL"); _haveSSL = true; } catch (Ice.NotRegisteredException) { } var twoway = HelloPrxHelper.checkedCast( communicator().propertyToProxy("Hello.Proxy").ice_twoway().ice_timeout(-1).ice_secure(false)); if (twoway == null) { Console.Error.WriteLine("invalid proxy"); return(1); } var oneway = HelloPrxHelper.uncheckedCast(twoway.ice_oneway()); var batchOneway = HelloPrxHelper.uncheckedCast(twoway.ice_batchOneway()); var datagram = HelloPrxHelper.uncheckedCast(twoway.ice_datagram()); var batchDatagram = HelloPrxHelper.uncheckedCast(twoway.ice_batchDatagram()); bool secure = false; menu(); string line = null; do { try { Console.Out.Write("==> "); Console.Out.Flush(); line = Console.In.ReadLine(); if (line == null) { break; } if (line.Equals("t")) { twoway.sayHello(); } else if (line.Equals("o")) { oneway.sayHello(); } else if (line.Equals("O")) { batchOneway.sayHello(); } else if (line.Equals("d")) { if (secure) { Console.WriteLine("secure datagrams are not supported"); } else { datagram.sayHello(); } } else if (line.Equals("D")) { if (secure) { Console.WriteLine("secure datagrams are not supported"); } else { batchDatagram.sayHello(); } } else if (line.Equals("f")) { batchOneway.ice_flushBatchRequests(); batchDatagram.ice_flushBatchRequests(); } else if (_haveSSL && line.Equals("S")) { secure = !secure; twoway = HelloPrxHelper.uncheckedCast(twoway.ice_secure(secure)); oneway = HelloPrxHelper.uncheckedCast(oneway.ice_secure(secure)); batchOneway = HelloPrxHelper.uncheckedCast(batchOneway.ice_secure(secure)); datagram = HelloPrxHelper.uncheckedCast(datagram.ice_secure(secure)); batchDatagram = HelloPrxHelper.uncheckedCast(batchDatagram.ice_secure(secure)); if (secure) { Console.WriteLine("secure mode is now on"); } else { Console.WriteLine("secure mode is now off"); } } else if (line.Equals("x")) { // Nothing to do } else if (line.Equals("?")) { menu(); } else { Console.WriteLine("unknown command `" + line + "'"); menu(); } } catch (Exception ex) { Console.Error.WriteLine(ex); } }while (!line.Equals("x")); return(0); }
public override HelloPrx getHello(Ice.Current current) { return(HelloPrxHelper.uncheckedCast(_adapter1.createIndirectProxy( _adapter1.getCommunicator().stringToIdentity("hello")))); }
public static void allTests(TestCommon.Application app) { Ice.Communicator communicator = app.communicator(); ServerManagerPrx manager = ServerManagerPrxHelper.checkedCast( communicator.stringToProxy("ServerManager :" + app.getTestEndpoint(0))); test(manager != null); TestLocatorPrx locator = TestLocatorPrxHelper.uncheckedCast(communicator.getDefaultLocator()); test(locator != null); TestLocatorRegistryPrx registry = TestLocatorRegistryPrxHelper.checkedCast(locator.getRegistry()); test(registry != null); Write("testing stringToProxy... "); Flush(); Ice.ObjectPrx @base = communicator.stringToProxy("test @ TestAdapter"); Ice.ObjectPrx base2 = communicator.stringToProxy("test @ TestAdapter"); Ice.ObjectPrx base3 = communicator.stringToProxy("test"); Ice.ObjectPrx base4 = communicator.stringToProxy("ServerManager"); Ice.ObjectPrx base5 = communicator.stringToProxy("test2"); Ice.ObjectPrx base6 = communicator.stringToProxy("test @ ReplicatedAdapter"); WriteLine("ok"); Write("testing ice_locator and ice_getLocator... "); test(Ice.Util.proxyIdentityCompare(@base.ice_getLocator(), communicator.getDefaultLocator()) == 0); Ice.LocatorPrx anotherLocator = Ice.LocatorPrxHelper.uncheckedCast(communicator.stringToProxy("anotherLocator")); @base = @base.ice_locator(anotherLocator); test(Ice.Util.proxyIdentityCompare(@base.ice_getLocator(), anotherLocator) == 0); communicator.setDefaultLocator(null); @base = communicator.stringToProxy("test @ TestAdapter"); test(@base.ice_getLocator() == null); @base = @base.ice_locator(anotherLocator); test(Ice.Util.proxyIdentityCompare(@base.ice_getLocator(), anotherLocator) == 0); communicator.setDefaultLocator(locator); @base = communicator.stringToProxy("test @ TestAdapter"); test(Ice.Util.proxyIdentityCompare(@base.ice_getLocator(), communicator.getDefaultLocator()) == 0); // // We also test ice_router/ice_getRouter (perhaps we should add a // test/Ice/router test?) // test(@base.ice_getRouter() == null); Ice.RouterPrx anotherRouter = Ice.RouterPrxHelper.uncheckedCast(communicator.stringToProxy("anotherRouter")); @base = @base.ice_router(anotherRouter); test(Ice.Util.proxyIdentityCompare(@base.ice_getRouter(), anotherRouter) == 0); Ice.RouterPrx router = Ice.RouterPrxHelper.uncheckedCast(communicator.stringToProxy("dummyrouter")); communicator.setDefaultRouter(router); @base = communicator.stringToProxy("test @ TestAdapter"); test(Ice.Util.proxyIdentityCompare(@base.ice_getRouter(), communicator.getDefaultRouter()) == 0); communicator.setDefaultRouter(null); @base = communicator.stringToProxy("test @ TestAdapter"); test(@base.ice_getRouter() == null); WriteLine("ok"); Write("starting server... "); Flush(); manager.startServer(); WriteLine("ok"); Write("testing checked cast... "); Flush(); TestIntfPrx obj = TestIntfPrxHelper.checkedCast(@base); test(obj != null); TestIntfPrx obj2 = TestIntfPrxHelper.checkedCast(base2); test(obj2 != null); TestIntfPrx obj3 = TestIntfPrxHelper.checkedCast(base3); test(obj3 != null); ServerManagerPrx obj4 = ServerManagerPrxHelper.checkedCast(base4); test(obj4 != null); TestIntfPrx obj5 = TestIntfPrxHelper.checkedCast(base5); test(obj5 != null); TestIntfPrx obj6 = TestIntfPrxHelper.checkedCast(base6); test(obj6 != null); WriteLine("ok"); Write("testing id@AdapterId indirect proxy... "); Flush(); obj.shutdown(); manager.startServer(); try { obj2.ice_ping(); } catch (Ice.LocalException) { test(false); } WriteLine("ok"); Write("testing id@ReplicaGroupId indirect proxy... "); Flush(); obj.shutdown(); manager.startServer(); try { obj6.ice_ping(); } catch (Ice.LocalException) { test(false); } WriteLine("ok"); Write("testing identity indirect proxy... "); Flush(); obj.shutdown(); manager.startServer(); try { obj3.ice_ping(); } catch (Ice.LocalException) { test(false); } try { obj2.ice_ping(); } catch (Ice.LocalException) { test(false); } obj.shutdown(); manager.startServer(); try { obj2.ice_ping(); } catch (Ice.LocalException) { test(false); } try { obj3.ice_ping(); } catch (Ice.LocalException) { test(false); } obj.shutdown(); manager.startServer(); try { obj2.ice_ping(); } catch (Ice.LocalException) { test(false); } obj.shutdown(); manager.startServer(); try { obj3.ice_ping(); } catch (Ice.LocalException) { test(false); } obj.shutdown(); manager.startServer(); try { obj5 = TestIntfPrxHelper.checkedCast(base5); obj5.ice_ping(); } catch (Ice.LocalException) { test(false); } WriteLine("ok"); Write("testing proxy with unknown identity... "); Flush(); try { @base = communicator.stringToProxy("unknown/unknown"); @base.ice_ping(); test(false); } catch (Ice.NotRegisteredException ex) { test(ex.kindOfObject.Equals("object")); test(ex.id.Equals("unknown/unknown")); } WriteLine("ok"); Write("testing proxy with unknown adapter... "); Flush(); try { @base = communicator.stringToProxy("test @ TestAdapterUnknown"); @base.ice_ping(); test(false); } catch (Ice.NotRegisteredException ex) { test(ex.kindOfObject.Equals("object adapter")); test(ex.id.Equals("TestAdapterUnknown")); } WriteLine("ok"); Write("testing locator cache timeout... "); Flush(); int count = locator.getRequestCount(); communicator.stringToProxy("test@TestAdapter").ice_locatorCacheTimeout(0).ice_ping(); // No locator cache. test(++count == locator.getRequestCount()); communicator.stringToProxy("test@TestAdapter").ice_locatorCacheTimeout(0).ice_ping(); // No locator cache. test(++count == locator.getRequestCount()); communicator.stringToProxy("test@TestAdapter").ice_locatorCacheTimeout(1).ice_ping(); // 1s timeout. test(count == locator.getRequestCount()); System.Threading.Thread.Sleep(1200); // 1200ms communicator.stringToProxy("test@TestAdapter").ice_locatorCacheTimeout(1).ice_ping(); // 1s timeout. test(++count == locator.getRequestCount()); communicator.stringToProxy("test").ice_locatorCacheTimeout(0).ice_ping(); // No locator cache. count += 2; test(count == locator.getRequestCount()); communicator.stringToProxy("test").ice_locatorCacheTimeout(1).ice_ping(); // 1s timeout test(count == locator.getRequestCount()); System.Threading.Thread.Sleep(1200); // 1200ms communicator.stringToProxy("test").ice_locatorCacheTimeout(1).ice_ping(); // 1s timeout count += 2; test(count == locator.getRequestCount()); communicator.stringToProxy("test@TestAdapter").ice_locatorCacheTimeout(-1).ice_ping(); test(count == locator.getRequestCount()); communicator.stringToProxy("test").ice_locatorCacheTimeout(-1).ice_ping(); test(count == locator.getRequestCount()); communicator.stringToProxy("test@TestAdapter").ice_ping(); test(count == locator.getRequestCount()); communicator.stringToProxy("test").ice_ping(); test(count == locator.getRequestCount()); test(communicator.stringToProxy("test").ice_locatorCacheTimeout(99).ice_getLocatorCacheTimeout() == 99); WriteLine("ok"); Write("testing proxy from server... "); Flush(); obj = TestIntfPrxHelper.checkedCast(communicator.stringToProxy("test@TestAdapter")); HelloPrx hello = obj.getHello(); test(hello.ice_getAdapterId().Equals("TestAdapter")); hello.sayHello(); hello = obj.getReplicatedHello(); test(hello.ice_getAdapterId().Equals("ReplicatedAdapter")); hello.sayHello(); WriteLine("ok"); Write("testing locator request queuing... "); Flush(); hello = (HelloPrx)obj.getReplicatedHello().ice_locatorCacheTimeout(0).ice_connectionCached(false); count = locator.getRequestCount(); hello.ice_ping(); test(++count == locator.getRequestCount()); List <Ice.AsyncResult <Test.Callback_Hello_sayHello> > results = new List <Ice.AsyncResult <Test.Callback_Hello_sayHello> >(); for (int i = 0; i < 1000; i++) { Ice.AsyncResult <Test.Callback_Hello_sayHello> result = hello.begin_sayHello(). whenCompleted( () => { }, (Ice.Exception ex) => { test(false); }); results.Add(result); } foreach (Ice.AsyncResult <Test.Callback_Hello_sayHello> result in results) { result.waitForCompleted(); } results.Clear(); test(locator.getRequestCount() > count && locator.getRequestCount() < count + 999); if (locator.getRequestCount() > count + 800) { Write("queuing = " + (locator.getRequestCount() - count)); } count = locator.getRequestCount(); hello = (HelloPrx)hello.ice_adapterId("unknown"); for (int i = 0; i < 1000; i++) { Ice.AsyncResult <Test.Callback_Hello_sayHello> result = hello.begin_sayHello(). whenCompleted( () => { test(false); }, (Ice.Exception ex) => { test(ex is Ice.NotRegisteredException); }); results.Add(result); } foreach (Ice.AsyncResult <Test.Callback_Hello_sayHello> result in results) { result.waitForCompleted(); } results.Clear(); // XXX: // Take into account the retries. test(locator.getRequestCount() > count && locator.getRequestCount() < count + 1999); if (locator.getRequestCount() > count + 800) { Write("queuing = " + (locator.getRequestCount() - count)); } WriteLine("ok"); Write("testing adapter locator cache... "); Flush(); try { communicator.stringToProxy("test@TestAdapter3").ice_ping(); test(false); } catch (Ice.NotRegisteredException ex) { test(ex.kindOfObject == "object adapter"); test(ex.id.Equals("TestAdapter3")); } registry.setAdapterDirectProxy("TestAdapter3", locator.findAdapterById("TestAdapter")); try { communicator.stringToProxy("test@TestAdapter3").ice_ping(); registry.setAdapterDirectProxy("TestAdapter3", communicator.stringToProxy("dummy:tcp")); communicator.stringToProxy("test@TestAdapter3").ice_ping(); } catch (Ice.LocalException) { test(false); } try { communicator.stringToProxy("test@TestAdapter3").ice_locatorCacheTimeout(0).ice_ping(); test(false); } catch (Ice.LocalException) { } try { communicator.stringToProxy("test@TestAdapter3").ice_ping(); test(false); } catch (Ice.LocalException) { } registry.setAdapterDirectProxy("TestAdapter3", locator.findAdapterById("TestAdapter")); try { communicator.stringToProxy("test@TestAdapter3").ice_ping(); } catch (Ice.LocalException) { test(false); } WriteLine("ok"); Write("testing well-known object locator cache... "); Flush(); registry.addObject(communicator.stringToProxy("test3@TestUnknown")); try { communicator.stringToProxy("test3").ice_ping(); test(false); } catch (Ice.NotRegisteredException ex) { test(ex.kindOfObject == "object adapter"); test(ex.id.Equals("TestUnknown")); } registry.addObject(communicator.stringToProxy("test3@TestAdapter4")); // Update registry.setAdapterDirectProxy("TestAdapter4", communicator.stringToProxy("dummy:tcp")); try { communicator.stringToProxy("test3").ice_ping(); test(false); } catch (Ice.LocalException) { } registry.setAdapterDirectProxy("TestAdapter4", locator.findAdapterById("TestAdapter")); try { communicator.stringToProxy("test3").ice_ping(); } catch (Ice.LocalException) { test(false); } registry.setAdapterDirectProxy("TestAdapter4", communicator.stringToProxy("dummy:tcp")); try { communicator.stringToProxy("test3").ice_ping(); } catch (Ice.LocalException) { test(false); } try { communicator.stringToProxy("test@TestAdapter4").ice_locatorCacheTimeout(0).ice_ping(); test(false); } catch (Ice.LocalException) { } try { communicator.stringToProxy("test@TestAdapter4").ice_ping(); test(false); } catch (Ice.LocalException) { } try { communicator.stringToProxy("test3").ice_ping(); test(false); } catch (Ice.LocalException) { } registry.addObject(communicator.stringToProxy("test3@TestAdapter")); try { communicator.stringToProxy("test3").ice_ping(); } catch (Ice.LocalException) { test(false); } registry.addObject(communicator.stringToProxy("test4")); try { communicator.stringToProxy("test4").ice_ping(); test(false); } catch (Ice.NoEndpointException) { } WriteLine("ok"); Write("testing locator cache background updates... "); Flush(); { Ice.InitializationData initData = new Ice.InitializationData(); initData.properties = communicator.getProperties().ice_clone_(); initData.properties.setProperty("Ice.BackgroundLocatorCacheUpdates", "1"); Ice.Communicator ic = Ice.Util.initialize(initData); registry.setAdapterDirectProxy("TestAdapter5", locator.findAdapterById("TestAdapter")); registry.addObject(communicator.stringToProxy("test3@TestAdapter")); count = locator.getRequestCount(); ic.stringToProxy("test@TestAdapter5").ice_locatorCacheTimeout(0).ice_ping(); // No locator cache. ic.stringToProxy("test3").ice_locatorCacheTimeout(0).ice_ping(); // No locator cache. count += 3; test(count == locator.getRequestCount()); registry.setAdapterDirectProxy("TestAdapter5", null); registry.addObject(communicator.stringToProxy("test3:tcp")); ic.stringToProxy("test@TestAdapter5").ice_locatorCacheTimeout(10).ice_ping(); // 10s timeout. ic.stringToProxy("test3").ice_locatorCacheTimeout(10).ice_ping(); // 10s timeout. test(count == locator.getRequestCount()); System.Threading.Thread.Sleep(1200); // The following request should trigger the background // updates but still use the cached endpoints and // therefore succeed. ic.stringToProxy("test@TestAdapter5").ice_locatorCacheTimeout(1).ice_ping(); // 1s timeout. ic.stringToProxy("test3").ice_locatorCacheTimeout(1).ice_ping(); // 1s timeout. try { while (true) { ic.stringToProxy("test@TestAdapter5").ice_locatorCacheTimeout(1).ice_ping(); // 1s timeout. System.Threading.Thread.Sleep(10); } } catch (Ice.LocalException) { // Expected to fail once they endpoints have been updated in the background. } try { while (true) { ic.stringToProxy("test3").ice_locatorCacheTimeout(1).ice_ping(); // 1s timeout. System.Threading.Thread.Sleep(10); } } catch (Ice.LocalException) { // Expected to fail once they endpoints have been updated in the background. } ic.destroy(); } WriteLine("ok"); Write("testing proxy from server after shutdown... "); Flush(); hello = obj.getReplicatedHello(); obj.shutdown(); manager.startServer(); hello.sayHello(); WriteLine("ok"); Write("testing object migration... "); Flush(); hello = HelloPrxHelper.checkedCast(communicator.stringToProxy("hello")); obj.migrateHello(); hello.ice_getConnection().close(Ice.ConnectionClose.GracefullyWithWait); hello.sayHello(); obj.migrateHello(); hello.sayHello(); obj.migrateHello(); hello.sayHello(); WriteLine("ok"); Write("testing locator encoding resolution... "); Flush(); hello = HelloPrxHelper.checkedCast(communicator.stringToProxy("hello")); count = locator.getRequestCount(); communicator.stringToProxy("test@TestAdapter").ice_encodingVersion(Ice.Util.Encoding_1_1).ice_ping(); test(count == locator.getRequestCount()); communicator.stringToProxy("test@TestAdapter10").ice_encodingVersion(Ice.Util.Encoding_1_0).ice_ping(); test(++count == locator.getRequestCount()); communicator.stringToProxy("test -e 1.0@TestAdapter10-2").ice_ping(); test(++count == locator.getRequestCount()); WriteLine("ok"); Write("shutdown server... "); Flush(); obj.shutdown(); WriteLine("ok"); Write("testing whether server is gone... "); Flush(); try { obj2.ice_ping(); test(false); } catch (Ice.LocalException) { } try { obj3.ice_ping(); test(false); } catch (Ice.LocalException) { } try { obj5.ice_ping(); test(false); } catch (Ice.LocalException) { } WriteLine("ok"); Write("testing indirect proxies to collocated objects... "); Flush(); // // Set up test for calling a collocated object through an // indirect, adapterless reference. // Ice.Properties properties = communicator.getProperties(); properties.setProperty("Ice.PrintAdapterReady", "0"); Ice.ObjectAdapter adapter = communicator.createObjectAdapterWithEndpoints("Hello", "tcp -h *"); adapter.setLocator(locator); Ice.Identity id = new Ice.Identity(); id.name = Guid.NewGuid().ToString(); registry.addObject(adapter.add(new HelloI(), id)); adapter.activate(); HelloPrx helloPrx = HelloPrxHelper.checkedCast( communicator.stringToProxy("\"" + communicator.identityToString(id) + "\"")); test(helloPrx.ice_getConnection() == null); adapter.deactivate(); WriteLine("ok"); Write("shutdown server manager... "); Flush(); manager.shutdown(); WriteLine("ok"); }
private static int run(Ice.Communicator communicator) { HelloPrx twoway = HelloPrxHelper.checkedCast( communicator.propertyToProxy("Hello.Proxy").ice_twoway().ice_secure(false)); if (twoway == null) { Console.Error.WriteLine("invalid proxy"); return(1); } HelloPrx oneway = (HelloPrx)twoway.ice_oneway(); HelloPrx batchOneway = (HelloPrx)twoway.ice_batchOneway(); HelloPrx datagram = (HelloPrx)twoway.ice_datagram(); HelloPrx batchDatagram = (HelloPrx)twoway.ice_batchDatagram(); bool secure = false; int timeout = -1; int delay = 0; menu(); string line = null; do { try { Console.Out.Write("==> "); Console.Out.Flush(); line = Console.In.ReadLine(); if (line == null) { break; } if (line.Equals("t")) { twoway.sayHello(delay); } else if (line.Equals("o")) { oneway.sayHello(delay); } else if (line.Equals("O")) { batchOneway.sayHello(delay); } else if (line.Equals("d")) { if (secure) { Console.WriteLine("secure datagrams are not supported"); } else { datagram.sayHello(delay); } } else if (line.Equals("D")) { if (secure) { Console.WriteLine("secure datagrams are not supported"); } else { batchDatagram.sayHello(delay); } } else if (line.Equals("f")) { batchOneway.ice_flushBatchRequests(); if (!secure) { batchDatagram.ice_flushBatchRequests(); } } else if (line.Equals("T")) { if (timeout == -1) { timeout = 2000; } else { timeout = -1; } twoway = (HelloPrx)twoway.ice_invocationTimeout(timeout); oneway = (HelloPrx)oneway.ice_invocationTimeout(timeout); batchOneway = (HelloPrx)batchOneway.ice_invocationTimeout(timeout); if (timeout == -1) { Console.WriteLine("timeout is now switched off"); } else { Console.WriteLine("timeout is now set to 2000ms"); } } else if (line.Equals("P")) { if (delay == 0) { delay = 2500; } else { delay = 0; } if (delay == 0) { Console.WriteLine("server delay is now deactivated"); } else { Console.WriteLine("server delay is now set to 2500ms"); } } else if (line.Equals("S")) { secure = !secure; twoway = (HelloPrx)twoway.ice_secure(secure); oneway = (HelloPrx)oneway.ice_secure(secure); batchOneway = (HelloPrx)batchOneway.ice_secure(secure); datagram = (HelloPrx)datagram.ice_secure(secure); batchDatagram = (HelloPrx)batchDatagram.ice_secure(secure); if (secure) { Console.WriteLine("secure mode is now on"); } else { Console.WriteLine("secure mode is now off"); } } else if (line.Equals("s")) { twoway.shutdown(); } else if (line.Equals("x")) { // Nothing to do } else if (line.Equals("?")) { menu(); } else { Console.WriteLine("unknown command `" + line + "'"); menu(); } } catch (System.Exception ex) { Console.Error.WriteLine(ex); } }while (!line.Equals("x")); return(0); }
public override int run(string[] args) { if (args.Length > 0) { Console.Error.WriteLine(appName() + ": too many arguments"); return(1); } try { communicator().getPluginManager().getPlugin("IceSSL"); _haveSSL = true; } catch (Ice.NotRegisteredException) { } HelloPrx twoway = HelloPrxHelper.checkedCast(communicator().stringToProxy("hello")); if (twoway == null) { Console.Error.WriteLine("invalid proxy"); return(1); } HelloPrx oneway = (HelloPrx)twoway.ice_oneway(); HelloPrx batchOneway = (HelloPrx)twoway.ice_batchOneway(); HelloPrx datagram = (HelloPrx)twoway.ice_datagram(); HelloPrx batchDatagram = (HelloPrx)twoway.ice_batchDatagram(); bool secure = false; int timeout = -1; int delay = 0; menu(); string line = null; do { try { Console.Out.Write("==> "); Console.Out.Flush(); line = Console.In.ReadLine(); if (line == null) { break; } if (line.Equals("t")) { twoway.sayHello(delay); } else if (line.Equals("o")) { oneway.sayHello(delay); } else if (line.Equals("O")) { batchOneway.sayHello(delay); } else if (line.Equals("d")) { if (secure) { Console.WriteLine("secure datagrams are not supported"); } else { datagram.sayHello(delay); } } else if (line.Equals("D")) { if (secure) { Console.WriteLine("secure datagrams are not supported"); } else { batchDatagram.sayHello(delay); } } else if (line.Equals("f")) { batchOneway.ice_flushBatchRequests(); batchDatagram.ice_flushBatchRequests(); } else if (line.Equals("T")) { if (timeout == -1) { timeout = 2000; } else { timeout = -1; } twoway = (HelloPrx)twoway.ice_invocationTimeout(timeout); oneway = (HelloPrx)oneway.ice_invocationTimeout(timeout); batchOneway = (HelloPrx)batchOneway.ice_invocationTimeout(timeout); if (timeout == -1) { Console.WriteLine("timeout is now switched off"); } else { Console.WriteLine("timeout is now set to 2000ms"); } } else if (line.Equals("P")) { if (delay == 0) { delay = 2500; } else { delay = 0; } if (delay == 0) { Console.WriteLine("server delay is now deactivated"); } else { Console.WriteLine("server delay is now set to 2500ms"); } } else if (_haveSSL && line.Equals("S")) { secure = !secure; twoway = (HelloPrx)twoway.ice_secure(secure); oneway = (HelloPrx)oneway.ice_secure(secure); batchOneway = (HelloPrx)batchOneway.ice_secure(secure); datagram = (HelloPrx)datagram.ice_secure(secure); batchDatagram = (HelloPrx)batchDatagram.ice_secure(secure); if (secure) { Console.WriteLine("secure mode is now on"); } else { Console.WriteLine("secure mode is now off"); } } else if (line.Equals("s")) { twoway.shutdown(); } else if (line.Equals("x")) { // Nothing to do } else if (line.Equals("?")) { menu(); } else { Console.WriteLine("unknown command `" + line + "'"); menu(); } } catch (System.Exception ex) { Console.Error.WriteLine(ex); } }while (!line.Equals("x")); return(0); }
public override int run(string[] args) { if (args.Length > 0) { Console.Error.WriteLine(appName() + ": too many arguments"); return(1); } HelloPrx hello = HelloPrxHelper.checkedCast(communicator().propertyToProxy("Hello.Proxy")); if (hello == null) { Console.Error.WriteLine("invalid proxy"); return(1); } menu(); string line = null; do { try { Console.Out.Write("==> "); Console.Out.Flush(); line = Console.In.ReadLine(); if (line == null) { break; } if (line.Equals("i")) { hello.sayHello(0); } else if (line.Equals("d")) { hello.begin_sayHello(5000).whenCompleted( () => { }, (Ice.Exception ex) => { if (ex is RequestCanceledException) { Console.Error.WriteLine("RequestCanceledException"); } else { Console.Error.WriteLine("sayHello AMI call failed:"); Console.Error.WriteLine(ex); } }); } else if (line.Equals("s")) { hello.shutdown(); } else if (line.Equals("x")) { // Nothing to do } else if (line.Equals("?")) { menu(); } else { Console.Out.WriteLine("unknown command `" + line + "'"); menu(); } } catch (Ice.Exception ex) { Console.Error.WriteLine(ex); } }while(!line.Equals("x")); return(0); }
private static int run(Ice.Communicator communicator) { HelloPrx hello = null; try { hello = HelloPrxHelper.checkedCast(communicator.stringToProxy("hello")); } catch (Ice.NotRegisteredException) { var query = IceGrid.QueryPrxHelper.checkedCast(communicator.stringToProxy("DemoIceGrid/Query")); hello = HelloPrxHelper.checkedCast(query.findObjectByType("::Demo::Hello")); } if (hello == null) { Console.WriteLine("couldn't find a `::Demo::Hello' object"); return(1); } menu(); string line = null; do { try { Console.Write("==> "); Console.Out.Flush(); line = Console.In.ReadLine(); if (line == null) { break; } if (line.Equals("t")) { hello.sayHello(); } else if (line.Equals("s")) { hello.shutdown(); } else if (line.Equals("x")) { // Nothing to do } else if (line.Equals("?")) { menu(); } else { Console.WriteLine("unknown command `" + line + "'"); menu(); } } catch (Ice.LocalException ex) { Console.WriteLine(ex); } }while(!line.Equals("x")); return(0); }
private static int run(Ice.Communicator communicator) { var twoway = HelloPrxHelper.checkedCast( communicator.propertyToProxy("Hello.Proxy").ice_twoway().ice_timeout(-1).ice_secure(false)); if (twoway == null) { Console.Error.WriteLine("invalid proxy"); return(1); } var oneway = HelloPrxHelper.uncheckedCast(twoway.ice_oneway()); var batchOneway = HelloPrxHelper.uncheckedCast(twoway.ice_batchOneway()); var datagram = HelloPrxHelper.uncheckedCast(twoway.ice_datagram()); var batchDatagram = HelloPrxHelper.uncheckedCast(twoway.ice_batchDatagram()); bool secure = false; menu(); string line = null; do { try { Console.Out.Write("==> "); Console.Out.Flush(); line = Console.In.ReadLine(); if (line == null) { break; } if (line.Equals("t")) { twoway.sayHello(); } else if (line.Equals("o")) { oneway.sayHello(); } else if (line.Equals("O")) { batchOneway.sayHello(); } else if (line.Equals("d")) { if (secure) { Console.WriteLine("secure datagrams are not supported"); } else { datagram.sayHello(); } } else if (line.Equals("D")) { if (secure) { Console.WriteLine("secure datagrams are not supported"); } else { batchDatagram.sayHello(); } } else if (line.Equals("f")) { batchOneway.ice_flushBatchRequests(); batchDatagram.ice_flushBatchRequests(); } else if (line.Equals("S")) { secure = !secure; twoway = HelloPrxHelper.uncheckedCast(twoway.ice_secure(secure)); oneway = HelloPrxHelper.uncheckedCast(oneway.ice_secure(secure)); batchOneway = HelloPrxHelper.uncheckedCast(batchOneway.ice_secure(secure)); datagram = HelloPrxHelper.uncheckedCast(datagram.ice_secure(secure)); batchDatagram = HelloPrxHelper.uncheckedCast(batchDatagram.ice_secure(secure)); if (secure) { Console.WriteLine("secure mode is now on"); } else { Console.WriteLine("secure mode is now off"); } } else if (line.Equals("x")) { // Nothing to do } else if (line.Equals("?")) { menu(); } else { Console.WriteLine("unknown command `" + line + "'"); menu(); } } catch (Exception ex) { Console.Error.WriteLine(ex); } }while (!line.Equals("x")); return(0); }