Exemplo n.º 1
0
 internal static IInvocationObserver?GetInvocationObserver(ZeroC.Ice.IObjectPrx proxy, string op,
                                                           IReadOnlyDictionary <string, string> context)
 {
     if (proxy.Communicator.Observer is ICommunicatorObserver communicatorObserver)
     {
         IInvocationObserver?observer = communicatorObserver.GetInvocationObserver(proxy, op, context);
         observer?.Attach();
         return(observer);
     }
     return(null);
 }
Exemplo n.º 2
0
        public override async Task RunAsync(string[] args)
        {
            Dictionary <string, string> properties = CreateTestProperties(ref args);

            properties["Ice.Warn.Dispatch"]        = "0";
            properties["Ice.Warn.Connections"]     = "0";
            properties["Ice.IncomingFrameMaxSize"] = "10K";
            await using Communicator communicator  = Initialize(properties);
            await communicator.ActivateAsync();

            communicator.SetProperty("TestAdapter.Endpoints", GetTestEndpoint(0));
            communicator.SetProperty("TestAdapter2.Endpoints", GetTestEndpoint(1));
            communicator.SetProperty("TestAdapter2.IncomingFrameMaxSize", "0");
            communicator.SetProperty("TestAdapter3.Endpoints", GetTestEndpoint(2));
            communicator.SetProperty("TestAdapter3.IncomingFrameMaxSize", "1K");

            ObjectAdapter adapter  = communicator.CreateObjectAdapter("TestAdapter");
            ObjectAdapter adapter2 = communicator.CreateObjectAdapter("TestAdapter2");
            ObjectAdapter adapter3 = communicator.CreateObjectAdapter("TestAdapter3");
            var           obj      = new Thrower();

            ZeroC.Ice.IObjectPrx prx = adapter.Add("thrower", obj, ZeroC.Ice.IObjectPrx.Factory);
            adapter2.Add("thrower", obj);
            adapter3.Add("thrower", obj);
            await adapter.ActivateAsync();

            await adapter2.ActivateAsync();

            await adapter3.ActivateAsync();

            await using var communicator2 = new Communicator(properties);
            await communicator2.ActivateAsync();

            communicator2.SetProperty("ForwarderAdapter.Endpoints", GetTestEndpoint(3));
            communicator2.SetProperty("ForwarderAdapter.IncomingFrameMaxSize", "0");
            ObjectAdapter forwarderAdapter = communicator2.CreateObjectAdapter("ForwarderAdapter");

            forwarderAdapter.Add("forwarder", new Forwarder(IObjectPrx.Parse(GetTestProxy("thrower"), communicator2)));
            await forwarderAdapter.ActivateAsync();

            ServerReady();
            await communicator.WaitForShutdownAsync();
        }
Exemplo n.º 3
0
        public override async Task RunAsync(string[] args)
        {
            await Communicator.ActivateAsync();

            Dictionary <string, string> properties = Communicator.GetProperties();

            Communicator.SetProperty("TestAdapter.Endpoints", GetTestEndpoint(0));
            Communicator.SetProperty("TestAdapter2.Endpoints", GetTestEndpoint(1));
            Communicator.SetProperty("TestAdapter2.IncomingFrameMaxSize", "0");
            Communicator.SetProperty("TestAdapter3.Endpoints", GetTestEndpoint(2));
            Communicator.SetProperty("TestAdapter3.IncomingFrameMaxSize", "1K");

            ObjectAdapter adapter  = Communicator.CreateObjectAdapter("TestAdapter");
            ObjectAdapter adapter2 = Communicator.CreateObjectAdapter("TestAdapter2");
            ObjectAdapter adapter3 = Communicator.CreateObjectAdapter("TestAdapter3");
            var           obj      = new Thrower();

            ZeroC.Ice.IObjectPrx prx = adapter.Add("thrower", obj, ZeroC.Ice.IObjectPrx.Factory);
            adapter2.Add("thrower", obj);
            adapter3.Add("thrower", obj);
            await adapter.ActivateAsync();

            await adapter2.ActivateAsync();

            await adapter3.ActivateAsync();

            await using var communicator2 = new Communicator(properties);
            await communicator2.ActivateAsync();

            communicator2.SetProperty("ForwarderAdapter.Endpoints", GetTestEndpoint(3));
            communicator2.SetProperty("ForwarderAdapter.IncomingFrameMaxSize", "0");
            ObjectAdapter forwarderAdapter = communicator2.CreateObjectAdapter("ForwarderAdapter");

            forwarderAdapter.Add("forwarder", new Forwarder(IObjectPrx.Parse(GetTestProxy("thrower"), communicator2)));
            await forwarderAdapter.ActivateAsync();

            ServerReady();
            await Communicator.ShutdownComplete;
        }