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); } } }
private async Task DispatchIncomingPacket(Stream stream) { var compressedPacket = new CompressedPacket(); int count = await compressedPacket.DeserializeAsync(stream); if (count > 0) { await SendIncomingUncompressedPacket(_packetCompress.Decompress(compressedPacket)); } }
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); }
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); } }
public UncompressedPacket Decompress(CompressedPacket packet) { return(new UncompressedPacket(packet.packetId, packet.data)); }
private async Task <CompressedPacket> GetNextCompressedPacketAsync() { return(await CompressedPacket.ReadFromStreamAsync(this.MinecraftStream)); }