Class CompressionMiddleware
- Namespace
- Moongate.UO.Data.Middlewares
- Assembly
- Moongate.UO.Data.dll
Middleware that transparently decompresses inbound payloads and compresses outbound payloads.
public sealed class CompressionMiddleware : INetMiddleware
- Inheritance
-
CompressionMiddleware
- Implements
- Inherited Members
Methods
ProcessAsync(MoongateTCPClient?, ReadOnlyMemory<byte>, CancellationToken)
Processes a payload for a specific client.
public ValueTask<ReadOnlyMemory<byte>> ProcessAsync(MoongateTCPClient? client, ReadOnlyMemory<byte> data, CancellationToken cancellationToken = default)
Parameters
clientMoongateTCPClientClient associated with the payload, if available.
dataReadOnlyMemory<byte>Incoming payload.
cancellationTokenCancellationTokenCancellation token.
Returns
- ValueTask<ReadOnlyMemory<byte>>
The transformed payload. Return Empty to drop the payload.
ProcessSendAsync(MoongateTCPClient?, ReadOnlyMemory<byte>, CancellationToken)
Processes an outgoing payload before it is sent to the socket.
public ValueTask<ReadOnlyMemory<byte>> ProcessSendAsync(MoongateTCPClient? client, ReadOnlyMemory<byte> data, CancellationToken cancellationToken = default)
Parameters
clientMoongateTCPClientClient associated with the payload, if available.
dataReadOnlyMemory<byte>Outgoing payload.
cancellationTokenCancellationTokenCancellation token.
Returns
- ValueTask<ReadOnlyMemory<byte>>
The transformed payload. Return Empty to drop the payload.