pub enum PackageResolverRequest {
Resolve {
package_url: String,
dir: ServerEnd<DirectoryMarker>,
responder: PackageResolverResolveResponder,
},
ResolveWithContext {
package_url: String,
context: ResolutionContext,
dir: ServerEnd<DirectoryMarker>,
responder: PackageResolverResolveWithContextResponder,
},
GetHash {
package_url: PackageUrl,
responder: PackageResolverGetHashResponder,
},
}
Expand description
This resolves packages from a repository.
This is intended to be implemented by package resolver components, and used by repository administration tools.
Variants§
Resolve
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.
ResolveWithContext
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.
Fields
§
context: ResolutionContext
§
dir: ServerEnd<DirectoryMarker>
§
responder: PackageResolverResolveWithContextResponder
GetHash
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
.
Implementations§
Source§impl PackageResolverRequest
impl PackageResolverRequest
pub fn into_resolve( self, ) -> Option<(String, ServerEnd<DirectoryMarker>, PackageResolverResolveResponder)>
pub fn into_resolve_with_context( self, ) -> Option<(String, ResolutionContext, ServerEnd<DirectoryMarker>, PackageResolverResolveWithContextResponder)>
pub fn into_get_hash( self, ) -> Option<(PackageUrl, PackageResolverGetHashResponder)>
Sourcepub fn method_name(&self) -> &'static str
pub fn method_name(&self) -> &'static str
Name of the method defined in FIDL
Trait Implementations§
Auto Trait Implementations§
impl Freeze for PackageResolverRequest
impl !RefUnwindSafe for PackageResolverRequest
impl Send for PackageResolverRequest
impl Sync for PackageResolverRequest
impl Unpin for PackageResolverRequest
impl !UnwindSafe for PackageResolverRequest
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