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). /// /// /// 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. /// A task that represents the asynchronous operation. Task RecycleAsync(string reason, CancellationToken cancellationToken); }