private void EnsureState(RabbitMQDeliveryState value, RabbitMQDeliveryState expected) { if (CompareState(value, expected)) { throw new UnexpectedDeliveryStateException(value); } }
private bool CompareState(RabbitMQDeliveryState value, RabbitMQDeliveryState expected) => expected == value;
public UnexpectedDeliveryStateException(RabbitMQDeliveryState deliveryState, string message) : base(message) { DeliveryState = deliveryState; }
private RabbitMQDeliveryState TryExchangeDeliveryState(RabbitMQDeliveryState expected, RabbitMQDeliveryState value) => (RabbitMQDeliveryState)Interlocked.CompareExchange(ref rawDeliveryState, (int)value, (int)expected);
public UnexpectedDeliveryStateException(RabbitMQDeliveryState state) : this(state, "The current delivery state is invalid for operation execution.") { }