pub struct Timer<T = MonotonicTimeline>(/* private fields */);
Expand description
An object representing a Zircon timer, such as the one returned by zx_timer_create.
As essentially a subtype of Handle
, it can be freely interconverted.
Implementations§
source§impl Timer<MonotonicTimeline>
impl Timer<MonotonicTimeline>
sourcepub fn create() -> Self
pub fn create() -> Self
Create a timer, an object that can signal when a specified point on the monotonic clock has been reached. Wraps the zx_timer_create syscall.
§Panics
If the kernel reports no memory available to create a timer or the process’ job policy denies timer creation.
source§impl Timer<BootTimeline>
impl Timer<BootTimeline>
sourcepub fn create() -> Self
pub fn create() -> Self
Create a timer, an object that can signal when a specified point on the boot clock has been reached. Wraps the zx_timer_create syscall.
If the timer elapses while the system is suspended it will not wake the system.
§Panics
If the kernel reports no memory available to create a timer or the process’ job policy denies timer creation.
Trait Implementations§
source§impl<T: Timeline> AsHandleRef for Timer<T>
impl<T: Timeline> AsHandleRef for Timer<T>
source§fn as_handle_ref(&self) -> HandleRef<'_>
fn as_handle_ref(&self) -> HandleRef<'_>
Get a reference to the handle. One important use of such a reference is
for
object_wait_many
.source§fn raw_handle(&self) -> zx_handle_t
fn raw_handle(&self) -> zx_handle_t
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: MonotonicInstant,
) -> Result<Signals, Status>
fn wait_handle( &self, signals: Signals, deadline: MonotonicInstant, ) -> 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<T: Timeline> HandleBased for Timer<T>
impl<T: Timeline> HandleBased for Timer<T>
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 into_raw(self) -> zx_handle_t
fn into_raw(self) -> zx_handle_t
Converts the handle into it’s raw representation. 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: HandleBased>(self) -> H
fn into_handle_based<H: HandleBased>(self) -> H
Creates an instance of another handle-based type from this value’s inner handle.
source§fn from_handle_based<H: HandleBased>(h: H) -> Self
fn from_handle_based<H: HandleBased>(h: H) -> Self
Creates an instance of this type from the inner handle of another
handle-based type.
fn is_invalid_handle(&self) -> bool
source§impl<T: Ord> Ord for Timer<T>
impl<T: Ord> Ord for Timer<T>
source§impl<T: PartialEq> PartialEq for Timer<T>
impl<T: PartialEq> PartialEq for Timer<T>
source§impl<T: PartialOrd> PartialOrd for Timer<T>
impl<T: PartialOrd> PartialOrd for Timer<T>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moreimpl<T: Eq> Eq for Timer<T>
impl<T> StructuralPartialEq for Timer<T>
Auto Trait Implementations§
impl<T> Freeze for Timer<T>
impl<T> RefUnwindSafe for Timer<T>where
T: RefUnwindSafe,
impl<T> Send for Timer<T>where
T: Send,
impl<T> Sync for Timer<T>where
T: Sync,
impl<T> Unpin for Timer<T>where
T: Unpin,
impl<T> UnwindSafe for Timer<T>where
T: UnwindSafe,
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