namespace ZB.MOM.WW.OtOpcUa.Core.Abstractions;
///
/// Thrown when an operation is refused as a configuration / authorization verdict rather than failing
/// on a transport or device fault: by the driver itself before contacting its backend (e.g. no Galaxy
/// ack credential is available for the caller, lmxopcua#749), or by a backend that answered and
/// rejected it (e.g. MXAccess rejecting the operator account on a Galaxy acknowledge, lmxopcua#760).
///
///
/// The resilience pipeline neither retries it nor counts it toward the circuit breaker: a refusal
/// says nothing about the backend's health, so letting five misconfigured acks open the breaker
/// would block every correctly-configured caller on the same host.
///
public sealed class DriverOperationRefusedException : InvalidOperationException
{
/// Initializes a new instance of the class.
/// Why the operation was refused. Must never contain a secret.
public DriverOperationRefusedException(string message)
: base(message)
{
}
}