diff options
Diffstat (limited to 'csharp/test/Ice/ami/Server.cs')
-rw-r--r-- | csharp/test/Ice/ami/Server.cs | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/csharp/test/Ice/ami/Server.cs b/csharp/test/Ice/ami/Server.cs new file mode 100644 index 00000000000..5eb25f2210b --- /dev/null +++ b/csharp/test/Ice/ami/Server.cs @@ -0,0 +1,79 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved. +// +// This copy of Ice is licensed to you under the terms described in the +// ICE_LICENSE file included in this distribution. +// +// ********************************************************************** + +using System; +using System.Diagnostics; +using System.Reflection; + +[assembly: CLSCompliant(true)] + +[assembly: AssemblyTitle("IceTest")] +[assembly: AssemblyDescription("Ice test")] +[assembly: AssemblyCompany("ZeroC, Inc.")] + +public class Server +{ + private static int run(string[] args, Ice.Communicator communicator) + { + communicator.getProperties().setProperty("TestAdapter.Endpoints", "default -p 12010"); + communicator.getProperties().setProperty("ControllerAdapter.Endpoints", "default -p 12011"); + communicator.getProperties().setProperty("ControllerAdapter.ThreadPool.Size", "1"); + + Ice.ObjectAdapter adapter = communicator.createObjectAdapter("TestAdapter"); + Ice.ObjectAdapter adapter2 = communicator.createObjectAdapter("ControllerAdapter"); + + adapter.add(new TestI(), communicator.stringToIdentity("test")); + adapter.activate(); + adapter2.add(new TestControllerI(adapter), communicator.stringToIdentity("testController")); + adapter2.activate(); + + communicator.waitForShutdown(); + return 0; + } + + public static int Main(string[] args) + { + int status = 0; + Ice.Communicator communicator = null; + + try + { + Ice.InitializationData initData = new Ice.InitializationData(); + initData.properties = Ice.Util.createProperties(ref args); + initData.properties.setProperty("Ice.ServerIdleTime", "30"); + // + // Limit the recv buffer size, this test relies on the socket + // send() blocking after sending a given amount of data. + // + initData.properties.setProperty("Ice.TCP.RcvSize", "50000"); + communicator = Ice.Util.initialize(ref args, initData); + status = run(args, communicator); + } + catch(System.Exception ex) + { + System.Console.Error.WriteLine(ex); + status = 1; + } + + if(communicator != null) + { + try + { + communicator.destroy(); + } + catch(Ice.LocalException ex) + { + System.Console.Error.WriteLine(ex); + status = 1; + } + } + + return status; + } +} |