Struct wasmer_wasix::runtime::resolver::WebSource
source · pub struct WebSource { /* private fields */ }
Expand description
A Source
which can query arbitrary packages on the internet.
Implementation Notes
Unlike other Source
implementations, this will need to download
a package if it is a PackageSpecifier::Url
. Optionally, these downloaded
packages can be cached in a local directory.
After a certain period (WebSource::with_retry_period()
), the
WebSource
will re-check the uploaded source to make sure the cached
package is still valid. This checking is done using the ETag header,
if available.
Implementations§
source§impl WebSource
impl WebSource
pub const DEFAULT_RETRY_PERIOD: Duration = _
pub fn new( cache_dir: impl Into<PathBuf>, client: Arc<dyn HttpClient + Send + Sync> ) -> Self
sourcepub fn with_retry_period(self, retry_period: Duration) -> Self
pub fn with_retry_period(self, retry_period: Duration) -> Self
Set the period after which an item should be marked as “possibly dirty” in the cache.
Trait Implementations§
source§impl Source for WebSource
impl Source for WebSource
source§fn query<'life0, 'life1, 'async_trait>(
&'life0 self,
package: &'life1 PackageSpecifier
) -> 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 PackageSpecifier ) -> 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 PackageSpecifier
) -> 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 PackageSpecifier ) -> 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 !RefUnwindSafe for WebSource
impl Send for WebSource
impl Sync for WebSource
impl Unpin for WebSource
impl !UnwindSafe for WebSource
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
§impl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere
W: DeserializeWith<F, T, D>,
D: Fallible + ?Sized,
F: ?Sized,
impl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere W: DeserializeWith<F, T, D>, D: Fallible + ?Sized, F: ?Sized,
§fn deserialize(
&self,
deserializer: &mut D
) -> Result<With<T, W>, <D as Fallible>::Error>
fn deserialize( &self, deserializer: &mut D ) -> Result<With<T, W>, <D as Fallible>::Error>
Deserializes using the given deserializer
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>
§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>
Gets the layout of the type.
source§impl<T> Upcastable for Twhere
T: Any + Debug + 'static,
impl<T> Upcastable for Twhere T: Any + Debug + 'static,
§impl<T> Upcastable for Twhere
T: Any + Send + Sync + 'static,
impl<T> Upcastable for Twhere T: Any + Send + Sync + 'static,
§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