namespace ZB.MOM.WW.OtOpcUa.Core.Abstractions;
///
/// Driver capability for on-demand reads. Required for any driver whose nodes are
/// readable from OPC UA clients (essentially all of them — every committed v2 driver
/// implements this).
///
///
/// Reads are idempotent — Polly retry pipelines can safely retry on transient failures
/// (per docs/v2/plan.md decisions #34 and #44).
///
public interface IReadable
{
///
/// Read a batch of attributes by their full driver-side reference.
/// Returns one snapshot per requested reference, in the same order.
///
///
/// Per-reference failures should be reported via the snapshot's
/// (Bad-coded), not as exceptions. The whole call should throw only if the driver itself is unreachable.
///
Task> ReadAsync(
IReadOnlyList fullReferences,
CancellationToken cancellationToken);
}