Network Options¶
This page summarizes the main Nalix.Network.Configurations types that shape listener behavior, dispatch pressure, throttling, compression, idle cleanup, and object pooling.
Source mapping¶
src/Nalix.Network/Configurations/NetworkSocketOptions.cssrc/Nalix.Network/Configurations/PoolingOptions.cssrc/Nalix.Network/Configurations/DispatchOptions.cssrc/Nalix.Network/Configurations/ConnectionLimitOptions.cssrc/Nalix.Network/Configurations/ConnectionHubOptions.cssrc/Nalix.Network/Configurations/TimingWheelOptions.cssrc/Nalix.Network/Configurations/NetworkCallbackOptions.cssrc/Nalix.Network/Configurations/CompressionOptions.cssrc/Nalix.Network/Configurations/CacheSizeOptions.cssrc/Nalix.Network/Configurations/TokenBucketOptions.cs
Core option types¶
| Type | Purpose | Examples |
|---|---|---|
NetworkSocketOptions |
Listen socket and accept worker tuning. | Port, Backlog, MaxParallel, KeepAlive, ReuseAddress, EnableTimeout, EnableIPv6 |
PoolingOptions |
Pool capacities and preallocation for listener/dispatch objects. | accept context pool, socket args pool, packet context pool |
DispatchOptions |
Per-connection queue behavior inside dispatch. | MaxPerConnectionQueue, DropPolicy, BlockTimeout |
ConnectionLimitOptions |
Per-endpoint connection caps and burst bans. | concurrent cap, rate window, ban duration, cleanup |
ConnectionHubOptions |
Hub sharding, username rules, broadcast behavior. | ShardCount, MaxConnections, DropPolicy, BroadcastBatchSize |
TimingWheelOptions |
Idle connection timeout wheel. | bucket count, tick duration, idle timeout |
NetworkCallbackOptions |
Callback flood protection and pending callback caps. | per-connection and per-IP pending limits |
CompressionOptions |
Frame compression trigger rules. | enable flag, minimum size |
CacheSizeOptions |
Receive-side cache sizes. | incoming buffer depth |
TokenBucketOptions |
Token bucket limiter behavior. | burst capacity, refill, cleanup, sharding |
How they are used¶
TcpListenerBasedepends onNetworkSocketOptions,PoolingOptions,TimingWheelOptions, andConnectionLimitOptions.UdpListenerBaseusesNetworkSocketOptions.ConnectionHubreadsConnectionHubOptions.PacketDispatchChanneland routing infrastructure depend onDispatchOptions,NetworkCallbackOptions,CompressionOptions, and pooling-related settings.- throttling components consume
TokenBucketOptionsand related limits.
Basic usage¶
NetworkSocketOptions socket = ConfigurationManager.Instance.Get<NetworkSocketOptions>();
socket.Validate();
PoolingOptions pooling = ConfigurationManager.Instance.Get<PoolingOptions>();
pooling.Validate();
ConnectionLimitOptions limits = ConfigurationManager.Instance.Get<ConnectionLimitOptions>();
limits.Validate();
Notes¶
- Validate options during startup, before activating listeners or dispatchers.
MaxConnections = -1typically means unlimited where that pattern is used.- Timeout-related options only take effect when the owning runtime path enables them, for example
NetworkSocketOptions.EnableTimeout.