pub struct ProtocolVersionGuardrail { /* private fields */ }Available on crate feature
payments only.Expand description
Restricts payment execution to explicit protocol name and version combinations.
Implementations§
Source§impl ProtocolVersionGuardrail
impl ProtocolVersionGuardrail
Sourcepub fn new<I>(allowed_protocols: I) -> ProtocolVersionGuardrailwhere
I: IntoIterator<Item = ProtocolDescriptor>,
pub fn new<I>(allowed_protocols: I) -> ProtocolVersionGuardrailwhere
I: IntoIterator<Item = ProtocolDescriptor>,
Creates a protocol-version guardrail.
Trait Implementations§
Source§impl PaymentPolicyGuardrail for ProtocolVersionGuardrail
impl PaymentPolicyGuardrail for ProtocolVersionGuardrail
Source§fn evaluate(
&self,
_record: &TransactionRecord,
protocol: &ProtocolDescriptor,
) -> PaymentPolicyDecision
fn evaluate( &self, _record: &TransactionRecord, protocol: &ProtocolDescriptor, ) -> PaymentPolicyDecision
Evaluates one canonical transaction under a specific protocol surface.
Auto Trait Implementations§
impl Freeze for ProtocolVersionGuardrail
impl RefUnwindSafe for ProtocolVersionGuardrail
impl Send for ProtocolVersionGuardrail
impl Sync for ProtocolVersionGuardrail
impl Unpin for ProtocolVersionGuardrail
impl UnsafeUnpin for ProtocolVersionGuardrail
impl UnwindSafe for ProtocolVersionGuardrail
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestCreates a shared type from an unshared type.