namespace ZB.MOM.WW.OtOpcUa.Driver.Historian.Wonderware.Client;
///
/// Connection options for .
///
/// Named-pipe name the sidecar listens on (matches the sidecar's OTOPCUA_HISTORIAN_PIPE).
/// Per-process shared secret the sidecar will verify in the Hello frame.
/// Diagnostic peer identifier sent in Hello — typically the OtOpcUa instance id.
/// Cap on the named-pipe connect + Hello round trip on each (re)connect.
/// Cap on a single read/write call once connected.
/// Backoff between the first failed reconnect attempts.
/// Upper bound on the exponential backoff between reconnects.
public sealed record WonderwareHistorianClientOptions(
string PipeName,
string SharedSecret,
string PeerName = "OtOpcUa",
TimeSpan? ConnectTimeout = null,
TimeSpan? CallTimeout = null,
TimeSpan? ReconnectInitialBackoff = null,
TimeSpan? ReconnectMaxBackoff = null)
{
public TimeSpan EffectiveConnectTimeout => ConnectTimeout ?? TimeSpan.FromSeconds(10);
public TimeSpan EffectiveCallTimeout => CallTimeout ?? TimeSpan.FromSeconds(30);
public TimeSpan EffectiveReconnectInitialBackoff => ReconnectInitialBackoff ?? TimeSpan.FromMilliseconds(500);
public TimeSpan EffectiveReconnectMaxBackoff => ReconnectMaxBackoff ?? TimeSpan.FromSeconds(30);
}