template <>

class WireServer

Defined at line 3592 of file fidling/gen/src/storage/fxfs/fidl/fuchsia.fxfs/fuchsia.fxfs/cpp/fidl/fuchsia.fxfs/cpp/wire_messaging.h

Pure-virtual interface to be implemented by a server.

This interface uses typed channels (i.e. |::fidl::ClientEnd

<

::fuchsia_fxfs::ProjectId>|

and |::fidl::ServerEnd

<

::fuchsia_fxfs::ProjectId>|).

Public Methods

void SetLimit (::fuchsia_fxfs::wire::ProjectIdSetLimitRequest * request, SetLimitCompleter::Sync & completer)

Set the limit in bytes and node count for an XFS project id. Setting limits lower than

current usage is accepted but may in the future prevent further increases. Returns

ZX_ERR_OUT_OF_RANGE if `project_id` is set to zero.

void Clear (::fuchsia_fxfs::wire::ProjectIdClearRequest * request, ClearCompleter::Sync & completer)

Stop tracking a project id. This will return ZX_ERR_NOT_FOUND if the project isn't

currently tracked. It will succeed even if the project is still in use more by one or more

nodes.

void SetForNode (::fuchsia_fxfs::wire::ProjectIdSetForNodeRequest * request, SetForNodeCompleter::Sync & completer)

Apply project id to a node_id from a GetAttrs call. This will return ZX_ERR_NOT_FOUND if

node doesn't exist, and ZX_ERR_OUT_OF_RANGE if `project_id` is set to zero.

void GetForNode (::fuchsia_fxfs::wire::ProjectIdGetForNodeRequest * request, GetForNodeCompleter::Sync & completer)

Get the project id based on a given node_id from a GetAttrs call.This will return

ZX_ERR_NOT_FOUND if the node doesn't exist, and a `project_id` of zero if one is not

currently applied.

void ClearForNode (::fuchsia_fxfs::wire::ProjectIdClearForNodeRequest * request, ClearForNodeCompleter::Sync & completer)

Remove any project id marker for a given node_id from a GetAttrs call. This will return

ZX_ERR_NOT_FOUND if the node doesn't exist, or success if the node is found to currently

have no project id applied to it.

void List (::fuchsia_fxfs::wire::ProjectIdListRequest * request, ListCompleter::Sync & completer)

Fetches project id numbers currently tracked with a limit or with non-zero usage from lowest

to highest. If `token` is null, start at the beginning, if `token` is populated with a

previously provided `next_token` the iteration continues where it left off. If there are

more projects to be listed then `next_token` will be populated, otherwise it will be null.

void Info (::fuchsia_fxfs::wire::ProjectIdInfoRequest * request, InfoCompleter::Sync & completer)

Looks up the limit and usage for a tracked `project_id`. If the `project_id` does not have

a limit set, or non-zero usage it will return ZX_ERR_NOT_FOUND.

void WireServer ()

Defined at line 3595 of file fidling/gen/src/storage/fxfs/fidl/fuchsia.fxfs/fuchsia.fxfs/cpp/fidl/fuchsia.fxfs/cpp/wire_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 ~WireServer ()

Defined at line 3596 of file fidling/gen/src/storage/fxfs/fidl/fuchsia.fxfs/fuchsia.fxfs/cpp/fidl/fuchsia.fxfs/cpp/wire_messaging.h