namespace StellaOps.Router.Gateway.Configuration;
///
/// Configuration options for health monitoring.
///
public sealed class HealthOptions
{
///
/// Gets the configuration section name.
///
public const string SectionName = "Router:Health";
///
/// Gets or sets the threshold after which a connection is considered stale (no heartbeat).
/// Should be at least 3x the heartbeat interval (45s default).
/// Default: 135 seconds.
///
public TimeSpan StaleThreshold { get; set; } = TimeSpan.FromSeconds(135);
///
/// Gets or sets the threshold after which a connection is considered degraded.
/// Should be at least 2x the heartbeat interval (45s default).
/// Default: 90 seconds.
///
public TimeSpan DegradedThreshold { get; set; } = TimeSpan.FromSeconds(90);
///
/// Gets or sets the interval at which to check for stale connections.
/// Default: 15 seconds.
///
public TimeSpan CheckInterval { get; set; } = TimeSpan.FromSeconds(15);
///
/// Gets or sets the number of ping measurements to keep for averaging.
/// Default: 10.
///
public int PingHistorySize { get; set; } = 10;
}