namespace Mbproxy.Options;

public sealed class BcdTagOptions
{
    public ushort Address { get; init; }
    public byte Width { get; init; }  // 16 or 32

    /// <summary>
    /// Optional opt-in to the response cache. Null (default) means "unset" and falls
    /// back to the per-PLC <see cref="PlcOptions.DefaultCacheTtlMs"/>; 0 explicitly
    /// disables caching for this tag even when the PLC default is non-zero. Positive
    /// values cap the staleness window in milliseconds.
    /// </summary>
    public int? CacheTtlMs { get; init; }
}
