public ListenerSessionConnectionReader(IConnection connection,
                                        Action connectionDequeuedCallback, TransportType transportType,
                                        long streamPosition, int offset, int size,
                                        ConnectionClosedCallback closedCallback, ViaDecodedCallback viaDecodedCallback)
     : base(connection, connectionDequeuedCallback, transportType, offset, size, closedCallback, viaDecodedCallback)
 {
     this.decoder = new ServerSessionDecoder(streamPosition, ListenerConstants.MaxUriSize, ListenerConstants.SharedMaxContentTypeSize);
 }
예제 #2
0
 public ServerSessionConnectionReader(ServerFramingDuplexSessionChannel channel)
     : base(channel.Connection, channel.rawConnection, channel.offset, channel.size, channel.RemoteSecurity)
 {
     decoder        = channel.decoder;
     contentType    = decoder.ContentType;
     maxBufferSize  = channel.channelListener.MaxBufferSize;
     bufferManager  = channel.channelListener.BufferManager;
     messageEncoder = channel.MessageEncoder;
     rawConnection  = channel.rawConnection;
 }
예제 #3
0
 public ServerSessionPreambleConnectionReader(IConnection connection, Action connectionDequeuedCallback,
                                              long streamPosition, int offset, int size, TransportSettingsCallback transportSettingsCallback,
                                              ConnectionClosedCallback closedCallback, ServerSessionPreambleCallback callback)
     : base(connection, closedCallback)
 {
     rawConnection = connection;
     decoder       = new ServerSessionDecoder(streamPosition, MaxViaSize, MaxContentTypeSize);
     this.offset   = offset;
     this.size     = size;
     this.transportSettingsCallback = transportSettingsCallback;
     this.callback = callback;
     ConnectionDequeuedCallback = connectionDequeuedCallback;
 }
예제 #4
0
            public ServerFramingDuplexSessionChannel(ConnectionOrientedTransportChannelListener channelListener, ServerSessionPreambleConnectionReader preambleReader,
                                                     EndpointAddress localAddress, bool exposeConnectionProperty, ConnectionDemuxer connectionDemuxer)
                : base(channelListener, localAddress, preambleReader.Via, exposeConnectionProperty)
            {
                this.channelListener   = channelListener;
                this.connectionDemuxer = connectionDemuxer;
                Connection             = preambleReader.Connection;
                decoder          = preambleReader.Decoder;
                connectionBuffer = preambleReader.connectionBuffer;
                offset           = preambleReader.BufferOffset;
                size             = preambleReader.BufferSize;
                rawConnection    = preambleReader.RawConnection;
                StreamUpgradeProvider upgrade = channelListener.Upgrade;

                if (upgrade != null)
                {
                    channelBindingProvider = upgrade.GetProperty <IStreamUpgradeChannelBindingProvider>();
                    upgradeAcceptor        = upgrade.CreateUpgradeAcceptor();
                }
            }