Table of Contents

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

client MoongateTCPClient

Client associated with the payload, if available.

data ReadOnlyMemory<byte>

Incoming payload.

cancellationToken CancellationToken

Cancellation 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

client MoongateTCPClient

Client associated with the payload, if available.

data ReadOnlyMemory<byte>

Outgoing payload.

cancellationToken CancellationToken

Cancellation token.

Returns

ValueTask<ReadOnlyMemory<byte>>

The transformed payload. Return Empty to drop the payload.