pub struct CheckoutRelay { /* private fields */ }Expand description
The relay.
Implementations§
Source§impl CheckoutRelay
impl CheckoutRelay
Sourcepub fn new(
store: Arc<CheckoutGrantStore>,
exchange: Arc<ArtifactExchange>,
client: Arc<dyn LicenceClient>,
gate: Arc<dyn GateBackend>,
flood: Arc<dyn GrantFlood>,
chain: Option<Arc<ChainManager>>,
) -> Self
pub fn new( store: Arc<CheckoutGrantStore>, exchange: Arc<ArtifactExchange>, client: Arc<dyn LicenceClient>, gate: Arc<dyn GateBackend>, flood: Arc<dyn GrantFlood>, chain: Option<Arc<ChainManager>>, ) -> Self
A relay. The gate is required: with no gate nothing is permitted.
Sourcepub fn with_limits(self, limits: RelayLimits) -> Self
pub fn with_limits(self, limits: RelayLimits) -> Self
Replace the limits (before the relay is shared).
Sourcepub async fn handle(
&self,
caller: CheckoutCaller<'_>,
req: &CheckoutWire,
) -> Result<SignedGrant, CheckoutRefusal>
pub async fn handle( &self, caller: CheckoutCaller<'_>, req: &CheckoutWire, ) -> Result<SignedGrant, CheckoutRefusal>
Handle one checkout request. Admission, then the gate, then the merged relay call.
Auto Trait Implementations§
impl !Freeze for CheckoutRelay
impl !RefUnwindSafe for CheckoutRelay
impl !UnwindSafe for CheckoutRelay
impl Send for CheckoutRelay
impl Sync for CheckoutRelay
impl Unpin for CheckoutRelay
impl UnsafeUnpin for CheckoutRelay
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> 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 more