namespace ZB.MOM.WW.MxGateway.Server.Configuration; public sealed class SessionOptions { /// /// Gets the default command timeout in seconds. /// public int DefaultCommandTimeoutSeconds { get; init; } = 30; /// /// Gets the maximum number of concurrent sessions. /// public int MaxSessions { get; init; } = 64; /// /// Gets the maximum number of pending commands per session. /// public int MaxPendingCommandsPerSession { get; init; } = 128; /// Gets the default session lease duration in seconds. public int DefaultLeaseSeconds { get; init; } = 1800; /// Gets the interval for sweeping expired session leases in seconds. public int LeaseSweepIntervalSeconds { get; init; } = 30; /// /// Gets a value indicating whether multiple event subscribers are allowed per session. /// public bool AllowMultipleEventSubscribers { get; init; } }