namespace Mbproxy.Options;
public sealed class PlcOptions
{
public string Name { get; init; } = "";
public int ListenPort { get; init; }
public string Host { get; init; } = "";
///
/// Backend Modbus TCP port on the PLC. Defaults to 502 (standard Modbus TCP port).
///
public int Port { get; init; } = 502;
public PlcBcdOverrides? BcdTags { get; init; }
///
/// Phase 11 — per-PLC default cache TTL applied to any tag whose explicit
/// is unset (null). 0 (the default) means
/// "no caching by default at this PLC". Per-tag values always win over the per-PLC
/// default when set; an explicit zero on a tag still disables caching for that tag.
///
public int DefaultCacheTtlMs { get; init; } = 0;
}