perf(abcip): bounded-parallel tag reads (MaxConcurrentReads, default 8)
This commit is contained in:
@@ -82,6 +82,18 @@ public sealed class AbCipDriverOptions
|
||||
/// </summary>
|
||||
public bool EnableDeclarationOnlyUdtGrouping { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// Upper bound on how many planned read work items (whole-UDT groups + per-tag fallbacks)
|
||||
/// one <c>ReadAsync</c> batch may have in flight against the controller at once. Bounds
|
||||
/// concurrency ACROSS tags only — the per-tag runtime lock (05/STAB-4) still serialises
|
||||
/// Read → GetStatus → Decode against any one cached libplctag handle, so the same tag
|
||||
/// requested twice in a batch never overlaps itself. Raising it lets libplctag overlap
|
||||
/// device round trips (the whole point: a strictly sequential batch pays one full round
|
||||
/// trip per tag); lowering it to <c>1</c> restores strictly sequential reads. Values below
|
||||
/// <c>1</c> are clamped to <c>1</c> at the use site.
|
||||
/// </summary>
|
||||
public int MaxConcurrentReads { get; init; } = 8;
|
||||
|
||||
/// <summary>
|
||||
/// Timeout for the AdminUI Test Connect probe, in seconds. The AdminUI clamps to a
|
||||
/// 60s server-side maximum; this default is what the form pre-fills for new instances.
|
||||
|
||||
Reference in New Issue
Block a user