template <>

class Server

Defined at line 3409 of file fidling/gen/sdk/fidl/fuchsia.pkg/fuchsia.pkg/cpp/fidl/fuchsia.pkg/cpp/natural_messaging.h

Public Methods

void Resolve (ResolveRequest & request, ResolveCompleter::Sync & completer)

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 to

`ResolveWithContext`, with a relative URL, to resolve a subpackage of

this package.

* error indicates failure. See `ResolveError` for values and error

scenarios.

void ResolveWithContext (ResolveWithContextRequest & request, ResolveWithContextCompleter::Sync & completer)

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, the `context` is ignored, and the behavior is

identical to calling `Resolve()`. A relative `package_url` is a

subpackage name.

+ request `context` a `ResolutionContext` 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

to `ResolveWithContext`, with a relative URL, to resolve a subpackage

of this package or subpackage.

* error indicates failure. See `ResolveError` for values and error

scenarios.

void GetHash (GetHashRequest & request, GetHashCompleter::Sync & completer)

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 by

`package_url`.

* `ZX_ERR_BAD_STATE` if the resolver does not know about the repository specified by

`package_url`.

void Server ()

Defined at line 3412 of file fidling/gen/sdk/fidl/fuchsia.pkg/fuchsia.pkg/cpp/fidl/fuchsia.pkg/cpp/natural_messaging.h

Handler bind_handler (async_dispatcher_t * dispatcher)

|bind_handler| returns a handler that binds incoming connections to this

server implementation.

The returned handler borrows the server instance.

The server must outlive the provided |dispatcher|. Only after

the dispatcher is shutdown will it be safe to destroy the servers.

The server should not be moved.

void ~Server ()

Defined at line 3413 of file fidling/gen/sdk/fidl/fuchsia.pkg/fuchsia.pkg/cpp/fidl/fuchsia.pkg/cpp/natural_messaging.h