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.
WARNING: this has been added in advance of https://fxrev.dev/1066674, the boot timeline is not yet available in the stable vdso. This currently uses the monotonic clock which is temporarily equivalent to the boot clock until the monotonic clock starts pausing during suspend in the near future. This will be migrated to the boot clock before the monotonic clock begins pausing during suspend.
§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<'_>
object_wait_many
.source§fn raw_handle(&self) -> zx_handle_t
fn raw_handle(&self) -> zx_handle_t
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>
source§fn wait_handle(
&self,
signals: Signals,
deadline: MonotonicInstant,
) -> Result<Signals, Status>
fn wait_handle( &self, signals: Signals, deadline: MonotonicInstant, ) -> Result<Signals, Status>
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>
source§fn get_name(&self) -> Result<Name, Status>
fn get_name(&self) -> Result<Name, Status>
source§fn set_name(&self, name: &Name) -> Result<(), Status>
fn set_name(&self, name: &Name) -> Result<(), Status>
source§fn basic_info(&self) -> Result<HandleBasicInfo, Status>
fn basic_info(&self) -> Result<HandleBasicInfo, Status>
source§fn count_info(&self) -> Result<HandleCountInfo, Status>
fn count_info(&self) -> Result<HandleCountInfo, Status>
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>
source§fn replace_handle(self, rights: Rights) -> Result<Self, Status>
fn replace_handle(self, rights: Rights) -> Result<Self, Status>
source§fn into_handle(self) -> Handle
fn into_handle(self) -> Handle
source§fn into_raw(self) -> zx_handle_t
fn into_raw(self) -> zx_handle_t
source§fn from_handle(handle: Handle) -> Self
fn from_handle(handle: Handle) -> Self
source§fn into_handle_based<H: HandleBased>(self) -> H
fn into_handle_based<H: HandleBased>(self) -> H
source§fn from_handle_based<H: HandleBased>(h: H) -> Self
fn from_handle_based<H: HandleBased>(h: H) -> Self
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
self
and other
) and is used by the <=
operator. Read more