using ZB.MOM.WW.OtOpcUa.Core.Abstractions; namespace ZB.MOM.WW.OtOpcUa.Driver.Galaxy.Runtime; /// /// Driver-side seam for batched writes. Production implementation routes by /// : SecuredWrite / VerifiedWrite go through /// MxCommandKind.WriteSecured, everything else through /// MxGatewaySession.WriteAsync. Tests substitute a fake to record routing /// decisions without touching real gw infrastructure. /// public interface IGalaxyDataWriter { /// /// Write each entry; return one /// per request entry, in input order. Implementations /// MUST return the same length as the input — partial-tag failures are encoded /// as Bad-status results, not omitted. /// /// Pairs of full reference + value to write. /// /// Maps a full reference to its discovered /// so the writer can route SecuredWrite / VerifiedWrite tags through the /// WriteSecured command instead of Write. Returns /// when the tag isn't tracked /// (the safest default — non-secured Write). /// /// Aborts the in-flight batch. Task> WriteAsync( IReadOnlyList writes, Func securityResolver, CancellationToken cancellationToken); }