Auto: twincat-2.2 — handle-based access with caching

Closes #311
This commit is contained in:
Joseph Doherty
2026-04-25 22:03:20 -04:00
parent 4a071b6d5a
commit b67eb6c8d0
8 changed files with 687 additions and 15 deletions
@@ -114,6 +114,16 @@ public interface ITwinCATClient : IDisposable
/// decide whether to drill in via their own walker.
/// </summary>
IAsyncEnumerable<TwinCATDiscoveredSymbol> BrowseSymbolsAsync(CancellationToken cancellationToken);
/// <summary>
/// PR 2.2 — wipe process-scoped optional caches (today: the ADS variable-handle
/// cache backing per-tag reads / writes). Surfaces so operators + the future PR
/// 2.3 Symbol-Version invalidation listener can flush stale handles after a known
/// online change without forcing a full reconnect. Safe to call mid-traffic — in-flight
/// reads continue to use the handles they already hold; the next read for a symbol
/// will re-resolve. Best-effort wire-side delete; failures are swallowed.
/// </summary>
Task FlushOptionalCachesAsync();
}
/// <summary>Opaque handle for a registered ADS notification. <see cref="IDisposable.Dispose"/> tears it down.</summary>