Beispiel #1
0
        internal ReliableChannel(byte channelId, Connection connection, SocketConfig config)
        {
            this.channelId  = channelId;
            this.connection = connection;
            this.config     = config;

            _sendSequencer = new HeapableSlidingWindow <PendingOutgoingPacket>(config.ReliabilityWindowSize, true, sizeof(ushort));
        }
Beispiel #2
0
        internal ReliableChannel(byte channelId, Connection connection, SocketConfig config, MemoryManager memoryManager)
        {
            this.channelId     = channelId;
            this.connection    = connection;
            this.config        = config;
            this.memoryManager = memoryManager;

            _sendSequencer = new HeapableSlidingWindow <PendingOutgoingPacket>(config.ReliabilityWindowSize, true, sizeof(ushort), memoryManager);
            _lastAckTimes  = new SlidingWindow <DateTime>(config.ReliableAckFlowWindowSize, true, sizeof(ushort));
        }
Beispiel #3
0
        internal ReliableSequencedFragmentedChannel(byte channelId, Connection connection, SocketConfig config, MemoryManager memoryManager)
        {
            this.channelId     = channelId;
            this.connection    = connection;
            this.config        = config;
            this.memoryManager = memoryManager;

            // Alloc the in flight windows for receive and send
            _receiveSequencer = new HeapableSlidingWindow <PendingIncomingPacket>(config.ReliabilityWindowSize, true, sizeof(ushort), memoryManager);
            _sendSequencer    = new HeapableSlidingWindow <PendingOutgoingPacket>(config.ReliabilityWindowSize, true, sizeof(ushort), memoryManager);
        }
        internal ReliableSequencedChannel(byte channelId, Connection connection, RuffleSocket socket, SocketConfig config)
        {
            this.channelId  = channelId;
            this.connection = connection;
            this.socket     = socket;
            this.config     = config;

            // Alloc the in flight windows for receive and send
            _receiveSequencer = new HeapableSlidingWindow <PendingIncomingPacket>(config.ReliabilityWindowSize, true, sizeof(ushort));
            _sendSequencer    = new HeapableSlidingWindow <PendingOutgoingPacket>(config.ReliabilityWindowSize, true, sizeof(ushort));
        }