pub(crate) trait ResolveProvider {
type Provider: PaymentProvider;
// Required method
fn resolve_for(
&self,
opts: DiscoverOptions,
) -> TransportResult<Self::Provider>;
// Provided methods
fn resolve(&self) -> TransportResult<Self::Provider> { ... }
fn set_key_provisioned(&self, _provisioned: bool) { ... }
fn is_key_provisioned(&self) -> bool { ... }
fn clear_channels(&self) { ... }
fn flush_pending(&self) { ... }
fn rollback_pending(&self) { ... }
fn commit_topup_and_track_voucher(&self) { ... }
fn lock_pay(
&self,
) -> impl Future<Output = Option<OwnedMutexGuard<()>>> + Send { ... }
}Expand description
Trait for resolving a concrete PaymentProvider from a potentially lazy wrapper.
Required Associated Types§
Required Methods§
fn resolve_for(&self, opts: DiscoverOptions) -> TransportResult<Self::Provider>
Provided Methods§
fn resolve(&self) -> TransportResult<Self::Provider>
fn set_key_provisioned(&self, _provisioned: bool)
fn is_key_provisioned(&self) -> bool
fn clear_channels(&self)
fn flush_pending(&self)
fn rollback_pending(&self)
fn commit_topup_and_track_voucher(&self)
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.