Ejemplo n.º 1
0
        private async Task DispatchIncomingPacket()
        {
            using (var bufferScope = _bufferPool.CreateScope())
            {
                var packet = _uncompressedPacketObjectPool.Get();
                try
                {
                    if (_useCompression)
                    {
                        var compressedPacket = await CompressedPacket.DeserializeAsync(_remoteStream, null);

                        packet = PacketCompress.Decompress(compressedPacket, bufferScope, 0, packet);
                    }
                    else
                    {
                        packet = await UncompressedPacket.DeserializeAsync(_remoteStream, bufferScope, packet);
                    }

                    await DispatchIncomingPacket(packet);
                }
                finally
                {
                    _uncompressedPacketObjectPool.Return(packet);
                }
            }
        }
Ejemplo n.º 2
0
        private async Task DispatchIncomingPacket(Stream stream)
        {
            var compressedPacket = new CompressedPacket();

            int count = await compressedPacket.DeserializeAsync(stream);

            if (count > 0)
            {
                await SendIncomingUncompressedPacket(_packetCompress.Decompress(compressedPacket));
            }
        }
Ejemplo n.º 3
0
        private async Task DispatchIncomingPacket()
        {
            UncompressedPacket packet;

            if (_useCompression)
            {
                var compressedPacket = await CompressedPacket.DeserializeAsync(_remoteStream);

                packet = PacketCompress.Decompress(ref compressedPacket);
            }
            else
            {
                packet = await UncompressedPacket.DeserializeAsync(_remoteStream);
            }
            await DispatchIncomingPacket(packet);
        }
Ejemplo n.º 4
0
        private async Task DispatchIncomingPacket()
        {
            using (var bufferScope = _bufferPool.CreateScope())
            {
                UncompressedPacket packet;
                if (_useCompression)
                {
                    var compressedPacket = await CompressedPacket.DeserializeAsync(_remoteStream, null);

                    packet = _packetCompress.Decompress(compressedPacket, _compressThreshold);
                }
                else
                {
                    packet = await UncompressedPacket.DeserializeAsync(_remoteStream, bufferScope);
                }

                await DispatchIncomingPacket(packet);
            }
        }
Ejemplo n.º 5
0
 public UncompressedPacket Decompress(CompressedPacket packet)
 {
     return(new UncompressedPacket(packet.packetId, packet.data));
 }
Ejemplo n.º 6
0
 private async Task <CompressedPacket> GetNextCompressedPacketAsync()
 {
     return(await CompressedPacket.ReadFromStreamAsync(this.MinecraftStream));
 }