namespace ZB.MOM.WW.OtOpcUa.Core.Abstractions; /// /// Process-level supervisor contract a Tier C driver's out-of-process topology provides /// (e.g. Driver.Galaxy.Proxy/Supervisor/). Concerns: restart the Host process when a /// hard fault is detected (memory breach, wedge, scheduled recycle window). /// /// /// Per docs/v2/plan.md decisions #68, #73-74, and #145. Tier A/B drivers do NOT have /// a supervisor because they run in-process — recycling would kill every OPC UA session and /// every co-hosted driver. The Core.Stability layer only invokes this interface for Tier C /// instances after asserting the tier via . /// public interface IDriverSupervisor { /// Driver instance this supervisor governs. string DriverInstanceId { get; } /// /// Request the supervisor to recycle (terminate + restart) the Host process. Implementations /// are expected to be idempotent under repeat calls during an in-flight recycle. /// /// Human-readable reason — flows into the supervisor's logs. /// Cancels the recycle request; an in-flight restart is not interrupted. Task RecycleAsync(string reason, CancellationToken cancellationToken); }