예제 #1
0
 public void IsDisposable()
 {
     using (var rpcEndpoint = new JsonRpcEndpoint(new UnlimitedMemoryStream(), JsonRpcEndpoint.EndpointMode.Client))
     {
         // Do some work
         Assert.IsAssignableFrom(typeof(IDisposable), rpcEndpoint);
     }
 }
예제 #2
0
        public JsonRpcTests()
        {
            var sockets    = SocketProvider.CreateSockets().Result;
            var clientSock = sockets.Item1;
            var serverSock = sockets.Item2;

            Client = new JsonRpcEndpoint(clientSock.GetStream(), JsonRpcEndpoint.EndpointMode.Client);
            Server = new JsonRpcEndpoint(serverSock.GetStream(), JsonRpcEndpoint.EndpointMode.Server);
        }
예제 #3
0
        public NetworkRpcEndpoint(ITransportLayer transport, JsonRpcEndpoint.EndpointMode clientMode)
        {
            Transport = transport;
            Mode      = clientMode;

            RpcLayer = new JsonRpcEndpoint(transport.GetStream(), Mode);
            if (Mode.HasFlag(JsonRpcEndpoint.EndpointMode.Server))
            {
                RpcLayer.RequestPipeline.AddItemToStart(HandleRpcRequest);
            }
            if (Mode.HasFlag(JsonRpcEndpoint.EndpointMode.Client))
            {
                RpcLayer.ResponsePipeline.AddItemToStart(HandleRpcResponse);
            }
        }