pub struct ProjectIdSynchronousProxy { /* private fields */ }
Implementations§
Source§impl ProjectIdSynchronousProxy
impl ProjectIdSynchronousProxy
pub fn new(channel: Channel) -> Self
pub fn into_channel(self) -> Channel
Sourcepub fn wait_for_event(
&self,
deadline: MonotonicInstant,
) -> Result<ProjectIdEvent, Error>
pub fn wait_for_event( &self, deadline: MonotonicInstant, ) -> Result<ProjectIdEvent, Error>
Waits until an event arrives and returns it. It is safe for other threads to make concurrent requests while waiting for an event.
Sourcepub fn set_limit(
&self,
project_id: u64,
bytes: u64,
nodes: u64,
___deadline: MonotonicInstant,
) -> Result<ProjectIdSetLimitResult, Error>
pub fn set_limit( &self, project_id: u64, bytes: u64, nodes: u64, ___deadline: MonotonicInstant, ) -> Result<ProjectIdSetLimitResult, Error>
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.
Sourcepub fn clear(
&self,
project_id: u64,
___deadline: MonotonicInstant,
) -> Result<ProjectIdClearResult, Error>
pub fn clear( &self, project_id: u64, ___deadline: MonotonicInstant, ) -> Result<ProjectIdClearResult, Error>
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.
Sourcepub fn set_for_node(
&self,
node_id: u64,
project_id: u64,
___deadline: MonotonicInstant,
) -> Result<ProjectIdSetForNodeResult, Error>
pub fn set_for_node( &self, node_id: u64, project_id: u64, ___deadline: MonotonicInstant, ) -> Result<ProjectIdSetForNodeResult, Error>
Apply project id to a node_id from a GetAttrs call. This will return ZX_ERR_NOT_FOUND if
node doesn’t exist, ZX_ERR_ALREADY_EXISTS if there is already a project_id
applied to
the node, and ZX_ERR_OUT_OF_RANGE if project_id
is set to zero.
Sourcepub fn get_for_node(
&self,
node_id: u64,
___deadline: MonotonicInstant,
) -> Result<ProjectIdGetForNodeResult, Error>
pub fn get_for_node( &self, node_id: u64, ___deadline: MonotonicInstant, ) -> Result<ProjectIdGetForNodeResult, Error>
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.
Sourcepub fn clear_for_node(
&self,
node_id: u64,
___deadline: MonotonicInstant,
) -> Result<ProjectIdClearForNodeResult, Error>
pub fn clear_for_node( &self, node_id: u64, ___deadline: MonotonicInstant, ) -> Result<ProjectIdClearForNodeResult, Error>
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.
Sourcepub fn list(
&self,
token: Option<&ProjectIterToken>,
___deadline: MonotonicInstant,
) -> Result<ProjectIdListResult, Error>
pub fn list( &self, token: Option<&ProjectIterToken>, ___deadline: MonotonicInstant, ) -> Result<ProjectIdListResult, Error>
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.
Sourcepub fn info(
&self,
project_id: u64,
___deadline: MonotonicInstant,
) -> Result<ProjectIdInfoResult, Error>
pub fn info( &self, project_id: u64, ___deadline: MonotonicInstant, ) -> Result<ProjectIdInfoResult, Error>
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.
Trait Implementations§
Source§impl Debug for ProjectIdSynchronousProxy
impl Debug for ProjectIdSynchronousProxy
Source§impl SynchronousProxy for ProjectIdSynchronousProxy
impl SynchronousProxy for ProjectIdSynchronousProxy
Source§type Proxy = ProjectIdProxy
type Proxy = ProjectIdProxy
Source§type Protocol = ProjectIdMarker
type Protocol = ProjectIdMarker
Proxy
controls.