pub trait AsHandleRef {
// Required method
fn as_handle_ref(&self) -> Unowned<'_, Handle>;
// Provided methods
fn raw_handle(&self) -> u32 { ... }
fn signal_handle(
&self,
clear_mask: Signals,
set_mask: Signals,
) -> Result<(), Status> { ... }
fn wait_handle(
&self,
signals: Signals,
deadline: Instant<MonotonicTimeline>,
) -> Result<Signals, Status> { ... }
fn wait_async_handle(
&self,
port: &Port,
key: u64,
signals: Signals,
options: WaitAsyncOpts,
) -> Result<(), Status> { ... }
fn get_name(&self) -> Result<Name, Status> { ... }
fn set_name(&self, name: &Name) -> Result<(), Status> { ... }
fn basic_info(&self) -> Result<HandleBasicInfo, Status> { ... }
fn count_info(&self) -> Result<HandleCountInfo, Status> { ... }
fn get_koid(&self) -> Result<Koid, Status> { ... }
}
Expand description
A trait to get a reference to the underlying handle of an object.
Required Methods§
Sourcefn as_handle_ref(&self) -> Unowned<'_, Handle>
fn as_handle_ref(&self) -> Unowned<'_, Handle>
Get a reference to the handle. One important use of such a reference is
for object_wait_many
.
Provided Methods§
Sourcefn raw_handle(&self) -> u32
fn raw_handle(&self) -> u32
Interpret the reference as a raw handle (an integer type). Two distinct handles will have different raw values (so it can perhaps be used as a key in a data structure).
Sourcefn signal_handle(
&self,
clear_mask: Signals,
set_mask: Signals,
) -> Result<(), Status>
fn signal_handle( &self, clear_mask: Signals, set_mask: Signals, ) -> Result<(), Status>
Set and clear userspace-accessible signal bits on an object. Wraps the zx_object_signal syscall.
Sourcefn wait_handle(
&self,
signals: Signals,
deadline: Instant<MonotonicTimeline>,
) -> Result<Signals, Status>
fn wait_handle( &self, signals: Signals, deadline: Instant<MonotonicTimeline>, ) -> Result<Signals, Status>
Waits on a handle. Wraps the zx_object_wait_one syscall.
Sourcefn wait_async_handle(
&self,
port: &Port,
key: u64,
signals: Signals,
options: WaitAsyncOpts,
) -> Result<(), Status>
fn wait_async_handle( &self, port: &Port, key: u64, signals: Signals, options: WaitAsyncOpts, ) -> Result<(), Status>
Causes packet delivery on the given port when the object changes state and matches signals. zx_object_wait_async syscall.
Sourcefn get_name(&self) -> Result<Name, Status>
fn get_name(&self) -> Result<Name, Status>
Get the Property::NAME property for this object.
Wraps a call to the zx_object_get_property syscall for the ZX_PROP_NAME property.
Sourcefn set_name(&self, name: &Name) -> Result<(), Status>
fn set_name(&self, name: &Name) -> Result<(), Status>
Set the Property::NAME property for this object.
The name’s length must be less than sys::ZX_MAX_NAME_LEN, i.e. name.to_bytes_with_nul().len() <= sys::ZX_MAX_NAME_LEN, or Err(Status::INVALID_ARGS) will be returned.
Wraps a call to the zx_object_get_property syscall for the ZX_PROP_NAME property.
Sourcefn basic_info(&self) -> Result<HandleBasicInfo, Status>
fn basic_info(&self) -> Result<HandleBasicInfo, Status>
Wraps the zx_object_get_info syscall for the ZX_INFO_HANDLE_BASIC topic.
Sourcefn count_info(&self) -> Result<HandleCountInfo, Status>
fn count_info(&self) -> Result<HandleCountInfo, Status>
Wraps the zx_object_get_info syscall for the ZX_INFO_HANDLE_COUNT topic.