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; }
}