Struct wasmer_wasix::runtime::resolver::backend_source::BackendSource
source · pub struct BackendSource {
registry_endpoint: Url,
client: Arc<dyn HttpClient + Send + Sync>,
cache: Option<FileSystemCache>,
token: Option<String>,
preferred_webc_version: Version,
}
Expand description
A Source
which will resolve dependencies by pinging a Wasmer-like GraphQL
endpoint.
Fields§
§registry_endpoint: Url
§client: Arc<dyn HttpClient + Send + Sync>
§cache: Option<FileSystemCache>
§token: Option<String>
§preferred_webc_version: Version
Implementations§
source§impl BackendSource
impl BackendSource
pub const WASMER_DEV_ENDPOINT: &'static str = "https://registry.wasmer.wtf/graphql"
pub const WASMER_PROD_ENDPOINT: &'static str = "https://registry.wasmer.io/graphql"
pub fn new( registry_endpoint: Url, client: Arc<dyn HttpClient + Send + Sync>, ) -> Self
sourcepub fn with_local_cache(
self,
cache_dir: impl Into<PathBuf>,
timeout: Duration,
) -> Self
pub fn with_local_cache( self, cache_dir: impl Into<PathBuf>, timeout: Duration, ) -> Self
Cache query results locally.
pub fn with_auth_token(self, token: impl Into<String>) -> Self
pub fn with_preferred_webc_version(self, version: Version) -> Self
pub fn registry_endpoint(&self) -> &Url
async fn query_graphql_named( &self, package_name: &str, ) -> Result<WebQuery, Error>
async fn query_graphql_by_hash( &self, hash: &PackageHash, ) -> Result<Option<PackageWebc>, Error>
fn headers(&self) -> HeaderMap
async fn query_by_hash( &self, hash: &PackageHash, ) -> Result<Option<PackageSummary>, Error>
Trait Implementations§
source§impl Clone for BackendSource
impl Clone for BackendSource
source§fn clone(&self) -> BackendSource
fn clone(&self) -> BackendSource
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for BackendSource
impl Debug for BackendSource
source§impl Source for BackendSource
impl Source for BackendSource
source§fn query<'life0, 'life1, 'async_trait>(
&'life0 self,
package: &'life1 PackageSource,
) -> Pin<Box<dyn Future<Output = Result<Vec<PackageSummary>, QueryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn query<'life0, 'life1, 'async_trait>(
&'life0 self,
package: &'life1 PackageSource,
) -> Pin<Box<dyn Future<Output = Result<Vec<PackageSummary>, QueryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Ask this source which packages would satisfy a particular
Dependency
constraint. Read moresource§fn latest<'life0, 'life1, 'async_trait>(
&'life0 self,
pkg: &'life1 PackageSource,
) -> Pin<Box<dyn Future<Output = Result<PackageSummary, QueryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn latest<'life0, 'life1, 'async_trait>(
&'life0 self,
pkg: &'life1 PackageSource,
) -> Pin<Box<dyn Future<Output = Result<PackageSummary, QueryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Run
Source::query()
and get the PackageSummary
for the latest
version.Auto Trait Implementations§
impl Freeze for BackendSource
impl !RefUnwindSafe for BackendSource
impl Send for BackendSource
impl Sync for BackendSource
impl Unpin for BackendSource
impl !UnwindSafe for BackendSource
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> Pointee for T
impl<T> Pointee for T
§impl<T> Upcastable for T
impl<T> Upcastable for T
fn upcast_any_ref(&self) -> &(dyn Any + 'static)
fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn upcast_any_box(self: Box<T>) -> Box<dyn Any>
§impl<T> Upcastable for T
impl<T> Upcastable for T
§fn upcast_any_ref(&self) -> &(dyn Any + 'static)
fn upcast_any_ref(&self) -> &(dyn Any + 'static)
upcast ref
§fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
upcast mut ref
§fn upcast_any_box(self: Box<T>) -> Box<dyn Any>
fn upcast_any_box(self: Box<T>) -> Box<dyn Any>
upcast boxed dyn