pub struct Resource(/* private fields */);
Expand description
An object representing a Zircon resource.
As essentially a subtype of Handle
, it can be freely interconverted.
Implementations§
Source§impl Resource
impl Resource
Sourcepub fn create_child(
&self,
kind: ResourceKind,
flags: Option<ResourceFlag>,
base: u64,
size: usize,
name: &[u8],
) -> Result<Resource, Status>
pub fn create_child( &self, kind: ResourceKind, flags: Option<ResourceFlag>, base: u64, size: usize, name: &[u8], ) -> Result<Resource, Status>
Create a child resource object.
Wraps the zx_resource_create syscall
Sourcepub fn info(&self) -> Result<ResourceInfo, Status>
pub fn info(&self) -> Result<ResourceInfo, Status>
Wraps the zx_object_get_info syscall for the ZX_INFO_RESOURCE topic.
Sourcepub fn cpu_stats(&self) -> Result<Vec<PerCpuStats>, Status>
pub fn cpu_stats(&self) -> Result<Vec<PerCpuStats>, Status>
Wraps the zx_object_get_info syscall for the ZX_INFO_CPU_STATS topic.
Sourcepub fn mem_stats(&self) -> Result<MemStats, Status>
pub fn mem_stats(&self) -> Result<MemStats, Status>
Wraps the zx_object_get_info syscall for the ZX_INFO_KMEM_STATS topic.
Sourcepub fn mem_stats_extended(&self) -> Result<MemStatsExtended, Status>
pub fn mem_stats_extended(&self) -> Result<MemStatsExtended, Status>
Wraps the zx_object_get_info syscall for the ZX_INFO_KMEM_STATS_EXTENDED topic.
Sourcepub fn mem_stats_compression(&self) -> Result<MemStatsCompression, Status>
pub fn mem_stats_compression(&self) -> Result<MemStatsCompression, Status>
Wraps the zx_object_get_info syscall for the ZX_INFO_KMEM_STATS_COMPRESSION topic.
Trait Implementations§
Source§impl AsHandleRef for Resource
impl AsHandleRef for Resource
Source§fn 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
.Source§fn 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).
Source§fn 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.
Source§fn 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.
Source§fn 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.
Source§fn get_name(&self) -> Result<Name, Status>
fn get_name(&self) -> Result<Name, Status>
Get the Property::NAME property for this object. Read more
Source§fn set_name(&self, name: &Name) -> Result<(), Status>
fn set_name(&self, name: &Name) -> Result<(), Status>
Set the Property::NAME property for this object. Read more
Source§fn 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.
Source§fn 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.
Source§impl HandleBased for Resource
impl HandleBased for Resource
Source§fn duplicate_handle(&self, rights: Rights) -> Result<Self, Status>
fn duplicate_handle(&self, rights: Rights) -> Result<Self, Status>
Duplicate a handle, possibly reducing the rights available. Wraps the
zx_handle_duplicate
syscall.
Source§fn replace_handle(self, rights: Rights) -> Result<Self, Status>
fn replace_handle(self, rights: Rights) -> Result<Self, Status>
Create a replacement for a handle, possibly reducing the rights available. This invalidates
the original handle. Wraps the
zx_handle_replace
syscall.
Source§fn into_handle(self) -> Handle
fn into_handle(self) -> Handle
Converts the value into its inner handle. Read more
Source§fn from_handle(handle: Handle) -> Self
fn from_handle(handle: Handle) -> Self
Creates an instance of this type from a handle. Read more
Source§fn into_handle_based<H>(self) -> Hwhere
H: HandleBased,
fn into_handle_based<H>(self) -> Hwhere
H: HandleBased,
Creates an instance of another handle-based type from this value’s inner handle.
Source§fn from_handle_based<H>(h: H) -> Selfwhere
H: HandleBased,
fn from_handle_based<H>(h: H) -> Selfwhere
H: HandleBased,
Creates an instance of this type from the inner handle of another
handle-based type.
fn is_invalid_handle(&self) -> bool
Source§impl Ord for Resource
impl Ord for Resource
Source§impl PartialOrd for Resource
impl PartialOrd for Resource
impl Eq for Resource
impl StructuralPartialEq for Resource
Auto Trait Implementations§
impl Freeze for Resource
impl RefUnwindSafe for Resource
impl Send for Resource
impl Sync for Resource
impl Unpin for Resource
impl UnwindSafe for Resource
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> EncodableAsHandle for Twhere
T: HandleBased,
impl<T> EncodableAsHandle for Twhere
T: HandleBased,
Source§type Dialect = DefaultFuchsiaResourceDialect
type Dialect = DefaultFuchsiaResourceDialect
What resource dialect can encode this object as a handle.