namespace ScadaLink.StoreAndForward;

/// <summary>
/// WP-9/10: Configuration options for the Store-and-Forward Engine.
/// </summary>
public class StoreAndForwardOptions
{
    /// <summary>Path to the SQLite database for S&amp;F message persistence.</summary>
    public string SqliteDbPath { get; set; } = "./data/store-and-forward.db";

    /// <summary>WP-11: Whether to replicate buffer operations to standby node.</summary>
    public bool ReplicationEnabled { get; set; } = true;

    /// <summary>WP-10: Default retry interval for messages without per-source settings.</summary>
    public TimeSpan DefaultRetryInterval { get; set; } = TimeSpan.FromSeconds(30);

    /// <summary>WP-10: Default maximum retry count before parking.</summary>
    public int DefaultMaxRetries { get; set; } = 50;

    /// <summary>WP-10: Interval for the background retry timer sweep.</summary>
    public TimeSpan RetryTimerInterval { get; set; } = TimeSpan.FromSeconds(10);
}
