Table of Contents

Namespace Shard.Network

Classes

NetworkChannelExtensions
NetworkModule

The networking module entry point that registers the QUIC transport with the server. First-party, so it is compiled in and registered explicitly by the host. Connections are NOT accepted until the server is ready: the listener is bound in response to ServerReadyEvent after all eligible module starts and failed or blocked module cleanup finish.

PacketHandler

Provides outbound routing and inbound packet dispatch.

PacketHandler.DisconnectReason

Captures either a server-originated message or a client-originated disconnect type.

Structs

ConnectionHandlerLease

Identifies one exact handler generation owned by one channel connection.

Interfaces

IChannelConnection

The game-facing handle to one QUIC stream's packet flow. Mirrors the Java ChannelConnection implemented by QuicheChannel: enqueue outbound packets, observe the peer certificate (for cert-bound auth), and control the connection. All members are safe to call from any thread; work is marshalled onto the owning connection's event loop.

IConnectionHandler

Handles the lifecycle and inbound packets of a single IChannelConnection. Mirrors the Java ConnectionHandler: the server installs an initial handler on a new connection and handlers swap themselves as the connection advances (handshake → auth → play).

IConnectionHandlerFactory

Creates the IConnectionHandler for a new connection. Provided by a higher layer (e.g. the auth module) via the service registry and resolved by the networking module when it binds.

IPacketReceiver
IServerCertificate

The server's TLS certificate identity, shared (via the service registry) with auth so it can prove the server's certificate during the handshake's server-grant exchange and cert binding.

IServerListener

A bound transport listener accepting connections on a single endpoint. Mirrors the Java ServerListener implemented by QuicheListener.