namespace Mbproxy.Options;

public sealed class ConnectionOptions
{
    public int BackendConnectTimeoutMs { get; init; } = 3000;
    public int BackendRequestTimeoutMs { get; init; } = 3000;
    /// <summary>
    /// Maximum time in milliseconds to wait for in-flight PDUs to complete during
    /// graceful shutdown before cancelling them. Default: 10000 (10 s).
    /// </summary>
    public int GracefulShutdownTimeoutMs { get; init; } = 10000;

    /// <summary>
    /// TCP keepalive and backend-heartbeat connection-monitoring settings. Enabled by default.
    /// </summary>
    public KeepaliveOptions Keepalive { get; init; } = new();
}
