Architecture
This document describes the recommended production architecture for FigNet:
Messaging
The network messaging system in FigNet is based on a Request & Response paradigm. A network request object is called an Operation, and a network response object is called a Handler. An application node can send Operations to a server node and vice versa.
Serialization
FigNet does not use one global swappable serializer. Instead, each message type registers its own
Commands
Commands are the actions that can be bound against string ids & can be triggered on demand. A few use cases are checking server stats, kicking a player, etc.
Configuration
This document describes the FigNet configuration model and the current security-related fields.
Logging
This page describes FigNet's logging model: how to emit and configure logs from your own code, and the tag/format
NetStatistics
IServerSocket and IClientSocket expose a NetStatistics property which provides networking statistics.
Modules
A module is a self-contained unit of server-side logic - handlers, background processing, and any state it owns - bundled behind a small interface so it can be configured and deployed independently. In FigNet, modules implement FigNet.Core.IModule and are used to add custom logic to a FigNet application in a modular way.