Namespace BSGameLib.Networking
Classes
- AssemblyScanner
Finds the types and assemblies that automatic registration should use. Anything marked DoNotRegisterAttribute is skipped.
- ClientAdapter
The client side of the network. It connects to a server, sends packets to it and runs the handlers for the packets it receives.
- ClientEventArgs
Event data for a client connection event.
- ConnectionStatistics
One connection's traffic and round-trip time, as its transport measured them.
- Constants
Limits and timings that the transports use. They are fixed, not configurable.
- DataPacketManager
Serializes packets and runs their handlers. The client and server adapters use it to handle the packets they receive.
- DataPacketSerializer
Converts packets to and from the bytes of a frame.
- NetworkAdapterConfiguration
Settings for a client or server adapter: the port, the address to bind to and the QUIC settings.
- NetworkStatistics
A transport's traffic since it started, and each open connection's.
- PacketHandlingException
A packet's handler threw. Says which packet, and carries what the handler threw as its inner exception.
- PacketTypeDiscovery
Every packet type a game can receive: each IDataPacket in the given assemblies and in the assemblies its handled packets come from, and each packet a handler names.
- QuicTransportConfiguration
The QUIC settings: the server's certificate, the protocol name and how identity is checked.
- ServerAdapter
The server side of the network. It accepts client connections, sends packets to them and runs the handlers for the packets they send.
- ServiceProviderDataPacketHandlerProvider
Finds packet handlers in a service provider: the handler for a packet type is the
IDataPacketHandler<TPacket>the provider resolves.
- ServiceProviderDataPacketProvider
Supplies the packet types it was given.
- SimpleDataPacketHandlerProvider
A handler provider that holds its handlers in memory, for a game that registers them itself.
- SimpleDataPacketProvider
Supplies the packet types registered with it, for a game that registers them itself.
- TofuServerIdentityVerifier
Default IServerIdentityVerifier: trust-on-first-use fingerprint pinning backed by a local JSON file, keyed by whatever
serverKeythe caller uses to identify a server (e.g. "host:port"). See docs/quic-connection-authentication.md.
- TypeHasher
Names packet types on the wire by a hash of their names.
Interfaces
- IClientAdapter
The client side of the network, as a game sees it.
- IDataPacket
A packet sent between a client and a server. Its public instance properties are its contents.
- IDataPacketFactory<T>
Creates packets of type
T. Nothing in BSGameLib calls it.
- IDataPacketHandler
Handles a packet of any type, given as IDataPacket.
- IDataPacketHandlerProvider
Supplies the handlers for each packet type.
- IDataPacketHandler<TPacket>
Handles packets of type
TPacketthat a client sent. Handlers run on the transport's receive threads, unless the adapter'sHandlerRunnersays otherwise.
- IDataPacketManager
Serializes packets and runs their handlers.
- IDataPacketProvider
Supplies the packet types a game can receive.
- INetConnection
A connection to a peer: a client, as the server sees it.
- INetworkAdapter
A client or server adapter: an object with a packet manager, which serializes and handles its packets.
- IServerAdapter
The server side of the network. Clients connect, packets are sent to and from them, and the handlers for the packets they send are run.
- IServerIdentityVerifier
Verifies a QUIC server's identity by certificate fingerprint. See docs/quic-connection-authentication.md for the trust-on-first-use (TOFU) design this supports and how it composes with a consumer-supplied trust source.