Example #1
0
 public WebSocketWrapperConnection(IWebSocketWrapper webSocket, IWampStreamingMessageParser <TMessage> parser, ICookieProvider cookieProvider, ICookieAuthenticatorFactory cookieAuthenticatorFactory) :
     base(cookieProvider, cookieAuthenticatorFactory)
 {
     mWebSocket = webSocket;
     mParser    = parser;
     mCancellationTokenSource = new CancellationTokenSource();
 }
Example #2
0
        public RawSocketConnection(SocketData connection,
                                   IWampStreamingMessageParser <TMessage> parser,
                                   TimeSpan?autoPingInterval)
        {
            mParser                = parser;
            mConnection            = connection.ConnectionContext;
            mMaxAllowedMessageSize = connection.Handshake.MaxMessageSizeInBytes;

            mPinger = new Pinger(this);

            mPingPongHandler =
                new PingPongHandler(mLogger,
                                    mPinger,
                                    autoPingInterval);
        }
        public RawSocketClientConnection
            (Func <TcpClient> clientBuilder,
            Func <TcpClient, Task> connector,
            IWampStreamingMessageParser <TMessage> parser,
            TimeSpan?autoPingInterval)
        {
            mClientBuilder = clientBuilder;
            mConnector     = connector;

            if (!(parser is JsonBinding <TMessage> || parser is MsgPackBinding <TMessage>))
            {
                throw new ArgumentException("Expected Json or MsgPack binding", "parser");
            }

            mParser           = parser;
            mAutoPingInterval = autoPingInterval;
        }
        public TcpClientConnection
            (TcpClient client,
            long maxAllowedMessageSize,
            Handshake handshake,
            IWampStreamingMessageParser <TMessage> binding,
            ArrayPool <byte> byteArrayPool,
            TimeSpan?autoPingInterval)
        {
            mTcpClient             = client;
            mMaxAllowedMessageSize = maxAllowedMessageSize;
            mHandshake             = handshake;
            mBinding       = binding;
            mByteArrayPool = byteArrayPool;

            mPinger = new Pinger(this);

            mPingPongHandler =
                new PingPongHandler(mLogger,
                                    mPinger,
                                    autoPingInterval);
        }
Example #5
0
        public TcpClientConnection
            (TcpClient client,
            long maxAllowedMessageSize,
            Handshake handshake,
            IWampStreamingMessageParser <TMessage> binding,
            RecyclableMemoryStreamManager memoryStreamManager,
            TimeSpan?autoPingInterval)
        {
            mTcpClient             = client;
            mMaxAllowedMessageSize = maxAllowedMessageSize;
            mHandshake             = handshake;
            mBinding             = binding;
            mMemoryStreamManager = memoryStreamManager;

            mPinger = new Pinger(this);

            mPingPongHandler =
                new PingPongHandler(mLogger,
                                    mPinger,
                                    autoPingInterval);
        }
        public RawSocketClientConnection
            (Func <TcpClient> clientBuilder,
            Func <TcpClient, Task> connector,
            IWampStreamingMessageParser <TMessage> parser,
            TimeSpan?autoPingInterval,
            ClientSslConfiguration sslConfiguration = null)
        {
            mClientBuilder = clientBuilder;
            mConnector     = connector;

            if (!(parser is JsonBinding <TMessage> ||
                  parser is MsgPackBinding <TMessage> ||
                  parser is CborBinding <TMessage>))
            {
                throw new ArgumentException("Expected Json, MsgPack or Cbor binding", nameof(parser));
            }

            mParser           = parser;
            mAutoPingInterval = autoPingInterval;
            mSslConfiguration = sslConfiguration;
        }
Example #7
0
 protected WebSocketWrapperConnection(IClientWebSocketWrapper clientWebSocket, Uri addressUri, string protocolName, IWampStreamingMessageParser <TMessage> parser) :
     this(clientWebSocket, parser, null, null)
 {
     clientWebSocket.Options.AddSubProtocol(protocolName);
     mAddressUri = addressUri;
 }
Example #8
0
 private TcpClientConnection <TMessage> CreateConnection <TMessage>(RawSocketTcpClient connection, IWampStreamingMessageParser <TMessage> binding)
 {
     return(new TcpClientConnection <TMessage>
                (connection.Client,
                connection.HandshakeResponse.MaxMessageSizeInBytes,
                connection.HandshakeRequest,
                binding,
                mRecyclableMemoryStreamManager,
                mAutoPingInterval));
 }
 protected WebSocketConnection(Uri addressUri, string protocolName, IWampStreamingMessageParser <TMessage> parser) :
     this(new ClientWebSocket(), parser, null, null)
 {
     ClientWebSocket.Options.AddSubProtocol(protocolName);
     mAddressUri = addressUri;
 }