コード例 #1
0
        public ITransport CreateTransport(TransportParams parameters)
        {
            var factory = IoC.TransportFactory;
            var transport
                = new TestTransportWrapper(factory.CreateTransport(parameters), parameters.UseBinaryProtocol ? Defaults.Protocol : Protocol.Json);

            OnTransportCreated(transport);
            return(transport);
        }
コード例 #2
0
        protected WebSocketTransport(TransportParams parameters)
        {
            if (parameters == null)
            {
                throw new ArgumentNullException(nameof(parameters), "Null parameters are not allowed");
            }

            BinaryProtocol = parameters.UseBinaryProtocol;
            WebSocketUri   = parameters.GetUri();
        }
コード例 #3
0
        public ITransport CreateTransport(TransportParams parameters)
        {
            var factory = IoC.TransportFactory;
            var transport
                = new TestTransportWrapper(factory.CreateTransport(parameters), parameters.UseBinaryProtocol ? Defaults.Protocol : Protocol.Json);

            transport.BeforeDataProcessed = BeforeDataProcessed;
            OnTransportCreated(transport);
            transport.MessageSent = OnMessageSent;
            _onWrappedTransportCreated?.Invoke(transport);
            return(transport);
        }
コード例 #4
0
        private static WebSocket CreateSocket(TransportParams parameters)
        {
            bool   isTls    = parameters.Options.Tls;
            string wsScheme = isTls ? "wss://" : "ws://";
            WebHeaderCollection queryCollection = new WebHeaderCollection();

            parameters.StoreParams(queryCollection);

            UriBuilder uriBuilder = new UriBuilder(wsScheme, parameters.Host, parameters.Port);

            setQuery(uriBuilder, queryCollection);
            WebSocket socket = new WebSocket(uriBuilder.ToString(), "", WebSocketVersion.Rfc6455);

            return(socket);
        }
コード例 #5
0
            public ITransport CreateTransport(TransportParams parameters)
            {
                IMessageSerializer serializer = null;

                if (parameters.Options.UseBinaryProtocol)
                {
                    serializer = new MsgPackMessageSerializer();
                }
                else
                {
                    serializer = new JsonMessageSerializer();
                }
                WebSocketTransport socketTransport = new WebSocketTransport(serializer);

                socketTransport.Host = parameters.Host;
                socketTransport.channelBinaryMode       = parameters.Options.UseBinaryProtocol;
                socketTransport.socket                  = CreateSocket(parameters);
                socketTransport.socket.Opened          += socketTransport.socket_Opened;
                socketTransport.socket.Closed          += socketTransport.socket_Closed;
                socketTransport.socket.Error           += socketTransport.socket_Error;
                socketTransport.socket.MessageReceived += socketTransport.socket_MessageReceived;
                socketTransport.socket.DataReceived    += socketTransport.socket_DataReceived;
                return(socketTransport);
            }
コード例 #6
0
        public ITransport CreateTransport(TransportParams parameters)
        {
            var factory = new WebSocketTransport.WebSocketTransportFactory();

            return(new TestTransportWrapper(factory.CreateTransport(parameters), parameters.UseBinaryProtocol ? Protocol.MsgPack : Protocol.Json));
        }
コード例 #7
0
 public ITransport CreateTransport(TransportParams parameters)
 {
     return(new WebSocketTransport(parameters));
 }
コード例 #8
0
 public ITransport CreateTransport(TransportParams parameters)
 {
     LastCreatedTransport = new FakeTransport(parameters);
     InitialiseFakeTransport(LastCreatedTransport);
     return(LastCreatedTransport);
 }
コード例 #9
0
ファイル: FakeTransport.cs プロジェクト: withakay/ably-dotnet
 public FakeTransport(TransportParams parameters)
 {
     Parameters = parameters;
 }
コード例 #10
0
ファイル: PlatformImpl.cs プロジェクト: withakay/ably-dotnet
 public ITransport CreateTransport(TransportParams parameters)
 {
     throw new NotImplementedException();
 }