using ZB.MOM.WW.OtOpcUa.Commons.Types; namespace ZB.MOM.WW.OtOpcUa.Commons.Interfaces; /// /// Live view of the local node's identity and the cluster's role topology. Implemented by /// ClusterRoleInfo in OtOpcUa.Cluster; consumed by everything that needs to /// distinguish admin-role vs driver-role members or react to role-leader changes (e.g. OPC UA /// ServiceLevel computation). /// public interface IClusterRoleInfo { NodeId LocalNode { get; } IReadOnlySet LocalRoles { get; } bool HasRole(string role); IReadOnlyList MembersWithRole(string role); NodeId? RoleLeader(string role); event EventHandler? RoleLeaderChanged; }