pub struct PackageResolverProxy { /* private fields */ }
Implementations§
Source§impl PackageResolverProxy
impl PackageResolverProxy
Sourcepub fn take_event_stream(&self) -> PackageResolverEventStream
pub fn take_event_stream(&self) -> PackageResolverEventStream
Get a Stream of events from the remote end of the protocol.
§Panics
Panics if the event stream was already taken.
Sourcepub fn resolve(
&self,
package_url: &str,
dir: ServerEnd<DirectoryMarker>,
) -> QueryResponseFut<PackageResolverResolveResult, DefaultFuchsiaResourceDialect>
pub fn resolve( &self, package_url: &str, dir: ServerEnd<DirectoryMarker>, ) -> QueryResponseFut<PackageResolverResolveResult, DefaultFuchsiaResourceDialect>
Populates or updates the cache of a package using an absolute package URL.
Ensures that a package, and any transitive subpackages, are on the local filesystem.
- request
package_url
the absolute package URL for a package. The following link describes the format: https://fuchsia.dev/fuchsia-src/concepts/packages/package_url. Resource paths are not allowed. - request
dir
a request for a directory that will be resolved when the package has been successfully cached. - returns a
resolved_context
, which can be passed toResolveWithContext
, with a relative URL, to resolve a subpackage of this package.
- error indicates failure. See
ResolveError
for values and error scenarios.
Sourcepub fn resolve_with_context(
&self,
package_url: &str,
context: &ResolutionContext,
dir: ServerEnd<DirectoryMarker>,
) -> QueryResponseFut<PackageResolverResolveWithContextResult, DefaultFuchsiaResourceDialect>
pub fn resolve_with_context( &self, package_url: &str, context: &ResolutionContext, dir: ServerEnd<DirectoryMarker>, ) -> QueryResponseFut<PackageResolverResolveWithContextResult, DefaultFuchsiaResourceDialect>
Populates or updates the cache of a package using either an absolute or
a relative package URL. If relative, the package will be resolved
relative to the supplied context
.
Ensures that a package is on the local filesystem.
- request
package_url
the absolute or relative package URL for a package. If absolute, thecontext
is ignored, and the behavior is identical to callingResolve()
. A relativepackage_url
is a subpackage name. - request
context
aResolutionContext
associated with a previously resolved package, for resolving subpackages relative to that package. - request
dir
a request for a directory that will be resolved when the package has been successfully cached. - returns a
resolved_context
, which can be passed to a subsequent call toResolveWithContext
, with a relative URL, to resolve a subpackage of this package or subpackage.
- error indicates failure. See
ResolveError
for values and error scenarios.
Sourcepub fn get_hash(
&self,
package_url: &PackageUrl,
) -> QueryResponseFut<PackageResolverGetHashResult, DefaultFuchsiaResourceDialect>
pub fn get_hash( &self, package_url: &PackageUrl, ) -> QueryResponseFut<PackageResolverGetHashResult, DefaultFuchsiaResourceDialect>
Determines the hash of a package.
- request
package_url
the package URL for a package.
- response
meta_far_blob_id
the hash of the package.
- error a zx_status value indicating failure. One of the following:
ZX_ERR_INTERNAL
if the resolver encountered an otherwise unspecified error while handling the request.ZX_ERR_NOT_FOUND
if the package does not exist in the repository specified bypackage_url
.ZX_ERR_BAD_STATE
if the resolver does not know about the repository specified bypackage_url
.
Trait Implementations§
Source§impl Clone for PackageResolverProxy
impl Clone for PackageResolverProxy
Source§fn clone(&self) -> PackageResolverProxy
fn clone(&self) -> PackageResolverProxy
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 PackageResolverProxy
impl Debug for PackageResolverProxy
Source§impl PackageResolverProxyInterface for PackageResolverProxy
impl PackageResolverProxyInterface for PackageResolverProxy
type ResolveResponseFut = QueryResponseFut<Result<ResolutionContext, ResolveError>>
type ResolveWithContextResponseFut = QueryResponseFut<Result<ResolutionContext, ResolveError>>
type GetHashResponseFut = QueryResponseFut<Result<BlobId, i32>>
fn resolve( &self, package_url: &str, dir: ServerEnd<DirectoryMarker>, ) -> Self::ResolveResponseFut
fn resolve_with_context( &self, package_url: &str, context: &ResolutionContext, dir: ServerEnd<DirectoryMarker>, ) -> Self::ResolveWithContextResponseFut
fn get_hash(&self, package_url: &PackageUrl) -> Self::GetHashResponseFut
Source§impl Proxy for PackageResolverProxy
impl Proxy for PackageResolverProxy
Source§type Protocol = PackageResolverMarker
type Protocol = PackageResolverMarker
The protocol which this
Proxy
controls.Source§fn from_channel(inner: AsyncChannel) -> Self
fn from_channel(inner: AsyncChannel) -> Self
Create a proxy over the given channel.
Source§fn into_channel(self) -> Result<AsyncChannel, Self>
fn into_channel(self) -> Result<AsyncChannel, Self>
Attempt to convert the proxy back into a channel. Read more
Source§fn as_channel(&self) -> &AsyncChannel
fn as_channel(&self) -> &AsyncChannel
Get a reference to the proxy’s underlying channel. Read more
§fn into_client_end(self) -> Result<ClientEnd<Self::Protocol>, Self>
fn into_client_end(self) -> Result<ClientEnd<Self::Protocol>, Self>
Attempt to convert the proxy back into a client end. Read more
Auto Trait Implementations§
impl Freeze for PackageResolverProxy
impl !RefUnwindSafe for PackageResolverProxy
impl Send for PackageResolverProxy
impl Sync for PackageResolverProxy
impl Unpin for PackageResolverProxy
impl !UnwindSafe for PackageResolverProxy
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)§impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
§impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> ProxyHasClient for Twhere
T: Proxy,
impl<T> ProxyHasClient for Twhere
T: Proxy,
§fn client(&self) -> Result<ZirconClient, Infallible>
fn client(&self) -> Result<ZirconClient, Infallible>
Get a “client” for this proxy. This is just an object which has methods
for a few common handle creation operations.