diff options
author | Matthew Newhook <matthew@zeroc.com> | 2015-03-21 15:35:40 -0230 |
---|---|---|
committer | Matthew Newhook <matthew@zeroc.com> | 2015-03-21 15:35:40 -0230 |
commit | 630a37d2fe66f24518299e705f958b571803c522 (patch) | |
tree | 969723791bdc4d73bb099c19d45554d0ca241ad9 /csharp/test/Ice/background/Server.cs | |
parent | Fix some README.md markdown formatting (diff) | |
download | ice-630a37d2fe66f24518299e705f958b571803c522.tar.bz2 ice-630a37d2fe66f24518299e705f958b571803c522.tar.xz ice-630a37d2fe66f24518299e705f958b571803c522.zip |
py -> python
rb -> ruby
objc -> objective-c
cs -> csharp
Diffstat (limited to 'csharp/test/Ice/background/Server.cs')
-rw-r--r-- | csharp/test/Ice/background/Server.cs | 169 |
1 files changed, 169 insertions, 0 deletions
diff --git a/csharp/test/Ice/background/Server.cs b/csharp/test/Ice/background/Server.cs new file mode 100644 index 00000000000..ec80f1a994e --- /dev/null +++ b/csharp/test/Ice/background/Server.cs @@ -0,0 +1,169 @@ +// ********************************************************************** +// +// 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.IO; +using System.Diagnostics; +using System.Reflection; + +[assembly: CLSCompliant(true)] + +[assembly: AssemblyTitle("IceTest")] +[assembly: AssemblyDescription("Ice test")] +[assembly: AssemblyCompany("ZeroC, Inc.")] + +public class Server +{ + internal class LocatorI : Ice.LocatorDisp_ + { + public override void findAdapterById_async(Ice.AMD_Locator_findAdapterById response, string adapter, + Ice.Current current) + { + _controller.checkCallPause(current); + Ice.Communicator communicator = current.adapter.getCommunicator(); + response.ice_response(current.adapter.createDirectProxy(communicator.stringToIdentity("dummy"))); + } + + public override void findObjectById_async(Ice.AMD_Locator_findObjectById response, Ice.Identity id, + Ice.Current current) + { + _controller.checkCallPause(current); + response.ice_response(current.adapter.createDirectProxy(id)); + } + + public override Ice.LocatorRegistryPrx getRegistry(Ice.Current current) + { + return null; + } + + internal LocatorI(BackgroundControllerI controller) + { + _controller = controller; + } + + private BackgroundControllerI _controller; + } + + internal class RouterI : Ice.RouterDisp_ + { + public override Ice.ObjectPrx getClientProxy(Ice.Current current) + { + _controller.checkCallPause(current); + return null; + } + + public override Ice.ObjectPrx getServerProxy(Ice.Current current) + { + _controller.checkCallPause(current); + return null; + } + + public override Ice.ObjectPrx[] addProxies(Ice.ObjectPrx[] proxies, Ice.Current current) + { + return new Ice.ObjectPrx[0]; + } + + internal RouterI(BackgroundControllerI controller) + { + _controller = controller; + } + + private BackgroundControllerI _controller; + } + + public static int run(string[] args, Ice.Communicator communicator, TextWriter @out) + { + // + // When running as a MIDlet the properties for the server may be + // overridden by configuration. If it isn't then we assume + // defaults. + // + if(communicator.getProperties().getProperty("TestAdapter.Endpoints").Length == 0) + { + communicator.getProperties().setProperty("TestAdapter.Endpoints", "default -p 12010"); + } + if(communicator.getProperties().getProperty("ControllerAdapter.Endpoints").Length == 0) + { + communicator.getProperties().setProperty("ControllerAdapter.Endpoints", "tcp -p 12011"); + communicator.getProperties().setProperty("ControllerAdapter.ThreadPool.Size", "1"); + } + + Ice.ObjectAdapter adapter = communicator.createObjectAdapter("TestAdapter"); + Ice.ObjectAdapter adapter2 = communicator.createObjectAdapter("ControllerAdapter"); + + BackgroundControllerI backgroundController = new BackgroundControllerI(adapter); + + adapter.add(new BackgroundI(backgroundController), communicator.stringToIdentity("background")); + adapter.add(new LocatorI(backgroundController), communicator.stringToIdentity("locator")); + adapter.add(new RouterI(backgroundController), communicator.stringToIdentity("router")); + adapter.activate(); + + adapter2.add(backgroundController, communicator.stringToIdentity("backgroundController")); + 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); + + // + // This test kills connections, so we don't want warnings. + // + initData.properties.setProperty("Ice.Warn.Connections", "0"); + + initData.properties.setProperty("Ice.MessageSizeMax", "50000"); + + // This test relies on filling the TCP send/recv buffer, so + // we rely on a fixed value for these buffers. + initData.properties.setProperty("Ice.TCP.RcvSize", "50000"); + + // + // Setup the test transport plug-in. + // + string defaultProtocol = initData.properties.getPropertyWithDefault("Ice.Default.Protocol", "tcp"); + initData.properties.setProperty("Ice.Default.Protocol", "test-" + defaultProtocol); + + communicator = Ice.Util.initialize(ref args, initData); + PluginI plugin = new PluginI(communicator); + plugin.initialize(); + communicator.getPluginManager().addPlugin("Test", plugin); + + status = run(args, communicator, Console.Out); + } + catch(System.Exception ex) + { + Console.Error.WriteLine(ex); + status = 1; + } + + if(communicator != null) + { + try + { + communicator.destroy(); + } + catch(Ice.LocalException ex) + { + Console.Error.WriteLine(ex); + status = 1; + } + } + + return status; + } +} |