Struct Clock
pub struct Clock<Reference = MonotonicTimeline, Output = SyntheticTimeline>(/* private fields */);
Expand description
An object representing a kernel clock, used to track the progress of time. A clock is a one-dimensional affine transformation of the clock monotonic reference timeline which may be atomically adjusted by a maintainer and observed by clients.
As essentially a subtype of Handle
, it can be freely interconverted.
Implementations§
§impl<Reference, Output> Clock<Reference, Output>
impl<Reference, Output> Clock<Reference, Output>
pub fn read(&self) -> Result<Instant<Output>, Status>
pub fn read(&self) -> Result<Instant<Output>, Status>
Perform a basic read of this clock. Wraps the zx_clock_read syscall. Requires
ZX_RIGHT_READ
and that the clock has had an initial time established.
pub fn get_details(&self) -> Result<ClockDetails<Reference, Output>, Status>
pub fn get_details(&self) -> Result<ClockDetails<Reference, Output>, Status>
Get low level details of this clock’s current status. Wraps the
zx_clock_get_details syscall. Requires ZX_RIGHT_READ
.
Trait Implementations§
§impl<Reference, Output> AsHandleRef for Clock<Reference, Output>
impl<Reference, Output> AsHandleRef for Clock<Reference, Output>
§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
.§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).
§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.
§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.
§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.
§fn get_name(&self) -> Result<Name, Status>
fn get_name(&self) -> Result<Name, Status>
Get the [Property::NAME] property for this object. Read more
§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
§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.
§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.
§impl<Reference, Output> HandleBased for Clock<Reference, Output>
impl<Reference, Output> HandleBased for Clock<Reference, Output>
§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.
§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.
§fn into_handle(self) -> Handle
fn into_handle(self) -> Handle
Converts the value into its inner handle. Read more
§fn from_handle(handle: Handle) -> Self
fn from_handle(handle: Handle) -> Self
Creates an instance of this type from a handle. Read more
§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.
§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
§impl<Reference, Output> Ord for Clock<Reference, Output>
impl<Reference, Output> Ord for Clock<Reference, Output>
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
§impl<Reference, Output> PartialOrd for Clock<Reference, Output>where
Reference: PartialOrd,
Output: PartialOrd,
impl<Reference, Output> PartialOrd for Clock<Reference, Output>where
Reference: PartialOrd,
Output: PartialOrd,
impl<Reference, Output> Eq for Clock<Reference, Output>
impl<Reference, Output> StructuralPartialEq for Clock<Reference, Output>
Auto Trait Implementations§
impl<Reference, Output> Freeze for Clock<Reference, Output>
impl<Reference, Output> RefUnwindSafe for Clock<Reference, Output>where
Reference: RefUnwindSafe,
Output: RefUnwindSafe,
impl<Reference, Output> Send for Clock<Reference, Output>
impl<Reference, Output> Sync for Clock<Reference, Output>
impl<Reference, Output> Unpin for Clock<Reference, Output>
impl<Reference, Output> UnwindSafe for Clock<Reference, Output>where
Reference: UnwindSafe,
Output: 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.