private static int run(Ice.Communicator communicator) { var nested = NestedPrxHelper.checkedCast(communicator.propertyToProxy("Nested.Proxy")); if (nested == null) { Console.Error.WriteLine("invalid proxy"); return(1); } // // Ensure the invocation times out if the nesting level is too // high and there are no more threads in the thread pool to // dispatch the call. // nested = (NestedPrx)nested.ice_invocationTimeout(5000); var adapter = communicator.createObjectAdapter("Nested.Client"); var self = NestedPrxHelper.uncheckedCast(adapter.createProxy(Ice.Util.stringToIdentity("nestedClient"))); adapter.add(new NestedI(self), Ice.Util.stringToIdentity("nestedClient")); adapter.activate(); Console.Out.WriteLine("Note: The maximum nesting level is sz * 2, with sz being"); Console.Out.WriteLine("the maximum number of threads in the server thread pool. If"); Console.Out.WriteLine("you specify a value higher than that, the application will"); Console.Out.WriteLine("block or timeout."); Console.Out.WriteLine(); string s = null; do { try { Console.Out.Write("enter nesting level or 'x' for exit: "); Console.Out.Flush(); s = Console.In.ReadLine(); if (s == null) { break; } var level = int.Parse(s); if (level > 0) { nested.nestedCall(level, self); } } catch (FormatException) { } catch (Exception ex) { Console.Error.WriteLine(ex); } }while(!s.Equals("x")); return(0); }
public override int run(string[] args) { if (args.Length > 0) { Console.Error.WriteLine(appName() + ": too many arguments"); return(1); } NestedPrx nested = NestedPrxHelper.checkedCast(communicator().propertyToProxy("Nested.Proxy")); if (nested == null) { Console.Error.WriteLine("invalid proxy"); return(1); } Ice.ObjectAdapter adapter = communicator().createObjectAdapter("Nested.Client"); NestedPrx self = NestedPrxHelper.uncheckedCast(adapter.createProxy(communicator().stringToIdentity("nestedClient"))); adapter.add(new NestedI(self), communicator().stringToIdentity("nestedClient")); adapter.activate(); Console.Out.WriteLine("Note: The maximum nesting level is sz * 2, with sz being"); Console.Out.WriteLine("the maximum number of threads in the server thread pool. If"); Console.Out.WriteLine("you specify a value higher than that, the application will"); Console.Out.WriteLine("block or timeout."); Console.Out.WriteLine(); string s = null; do { try { Console.Out.Write("enter nesting level or 'x' for exit: "); Console.Out.Flush(); s = Console.In.ReadLine(); if (s == null) { break; } int level = System.Int32.Parse(s); if (level > 0) { nested.nestedCall(level, self); } } catch (System.FormatException) { } catch (System.Exception ex) { Console.Error.WriteLine(ex); } }while(!s.Equals("x")); return(0); }
public override int run(string[] args) { if (args.Length > 0) { System.Console.Error.WriteLine(appName() + ": too many arguments"); return(1); } Ice.ObjectAdapter adapter = communicator().createObjectAdapter("Nested.Server"); NestedPrx self = NestedPrxHelper.uncheckedCast(adapter.createProxy(communicator().stringToIdentity("nestedServer"))); adapter.add(new NestedI(self), communicator().stringToIdentity("nestedServer")); adapter.activate(); communicator().waitForShutdown(); return(0); }
public static int Main(string[] args) { int status = 0; try { // // using statement - communicator is automatically destroyed // at the end of this statement // using (var communicator = Ice.Util.initialize(ref args, "config.server")) { // // Destroy the communicator on Ctrl+C or Ctrl+Break // Console.CancelKeyPress += (sender, eventArgs) => communicator.destroy(); if (args.Length > 0) { Console.Error.WriteLine("too many arguments"); status = 1; } else { var adapter = communicator.createObjectAdapter("Nested.Server"); var self = NestedPrxHelper.uncheckedCast(adapter.createProxy(Ice.Util.stringToIdentity("nestedServer"))); adapter.add(new NestedI(self), Ice.Util.stringToIdentity("nestedServer")); adapter.activate(); communicator.waitForShutdown(); } } } catch (Exception ex) { Console.Error.WriteLine(ex); status = 1; } return(status); }