namespace ScadaLink.DataConnectionLayer;

/// <summary>
/// Configuration options for the Data Connection Layer.
/// </summary>
public class DataConnectionOptions
{
    /// <summary>Fixed interval between reconnect attempts after disconnect.</summary>
    public TimeSpan ReconnectInterval { get; set; } = TimeSpan.FromSeconds(5);

    /// <summary>Interval for retrying failed tag path resolution.</summary>
    public TimeSpan TagResolutionRetryInterval { get; set; } = TimeSpan.FromSeconds(10);

    /// <summary>Timeout for synchronous write operations to devices.</summary>
    public TimeSpan WriteTimeout { get; set; } = TimeSpan.FromSeconds(30);

    /// <summary>LmxProxy keep-alive interval for gRPC sessions.</summary>
    public TimeSpan LmxProxyKeepAliveInterval { get; set; } = TimeSpan.FromSeconds(30);
}
