pub enum ProjectIdRequest {
SetLimit {
project_id: u64,
bytes: u64,
nodes: u64,
responder: ProjectIdSetLimitResponder,
},
Clear {
project_id: u64,
responder: ProjectIdClearResponder,
},
SetForNode {
node_id: u64,
project_id: u64,
responder: ProjectIdSetForNodeResponder,
},
GetForNode {
node_id: u64,
responder: ProjectIdGetForNodeResponder,
},
ClearForNode {
node_id: u64,
responder: ProjectIdClearForNodeResponder,
},
List {
token: Option<Box<ProjectIterToken>>,
responder: ProjectIdListResponder,
},
Info {
project_id: u64,
responder: ProjectIdInfoResponder,
},
}
Variants§
SetLimit
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.
Clear
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.
SetForNode
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.
GetForNode
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.
ClearForNode
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.
List
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.
Info
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.
Implementations§
Source§impl ProjectIdRequest
impl ProjectIdRequest
pub fn into_set_limit( self, ) -> Option<(u64, u64, u64, ProjectIdSetLimitResponder)>
pub fn into_clear(self) -> Option<(u64, ProjectIdClearResponder)>
pub fn into_set_for_node( self, ) -> Option<(u64, u64, ProjectIdSetForNodeResponder)>
pub fn into_get_for_node(self) -> Option<(u64, ProjectIdGetForNodeResponder)>
pub fn into_clear_for_node( self, ) -> Option<(u64, ProjectIdClearForNodeResponder)>
pub fn into_list( self, ) -> Option<(Option<Box<ProjectIterToken>>, ProjectIdListResponder)>
pub fn into_info(self) -> Option<(u64, ProjectIdInfoResponder)>
Sourcepub fn method_name(&self) -> &'static str
pub fn method_name(&self) -> &'static str
Name of the method defined in FIDL