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
impl Timer
Sourcepub fn create() -> Timer
pub fn create() -> Timer
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() -> Timer<BootTimeline>
pub fn create() -> Timer<BootTimeline>
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> AsHandleRef for Timer<T>where
T: Timeline,
impl<T> AsHandleRef for Timer<T>where
T: Timeline,
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<T> HandleBased for Timer<T>where
T: Timeline,
impl<T> HandleBased for Timer<T>where
T: Timeline,
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<T> Ord for Timer<T>where
T: Ord,
impl<T> Ord for Timer<T>where
T: Ord,
Source§impl<T> PartialOrd for Timer<T>where
T: PartialOrd,
impl<T> PartialOrd for Timer<T>where
T: PartialOrd,
impl<T> Eq for Timer<T>where
T: Eq,
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
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.