pub type SyntheticClock = Clock;
Aliased Type§
struct SyntheticClock(/* private fields */);
Implementations
Source§impl<Output> Clock<MonotonicTimeline, Output>where
Output: Timeline,
impl<Output> Clock<MonotonicTimeline, Output>where
Output: Timeline,
Sourcepub fn create(
opts: ClockOpts,
backstop: Option<Instant<Output>>,
) -> Result<Clock<MonotonicTimeline, Output>, Status>
pub fn create( opts: ClockOpts, backstop: Option<Instant<Output>>, ) -> Result<Clock<MonotonicTimeline, Output>, Status>
Create a new clock object with the provided arguments, with the monotonic clock as the reference timeline. Wraps the zx_clock_create syscall.
Source§impl<Reference, Output> Clock<Reference, Output>
impl<Reference, Output> Clock<Reference, Output>
Sourcepub 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.
Sourcepub unsafe fn read_mapped(
clock_addr: *const u8,
) -> Result<Instant<Output>, Status>
pub unsafe fn read_mapped( clock_addr: *const u8, ) -> Result<Instant<Output>, Status>
Perform a basic read of a mapped clock. Wraps the [zx_clock_read_mapped] syscall.
§Safety
|zx_clock_get_details_mapped| must only be called using a |clock_addr| which is the address of a clock’s state currently mapped into the caller’s address space using |zx_vmar_map_clock|. Attempting to get_details from any other address, or from a clock mapping which has been unmapped (completely or partially) will result in undefined behavior.
Sourcepub 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
.
Sourcepub unsafe fn get_details_mapped(
clock_addr: *const u8,
) -> Result<ClockDetails<Reference, Output>, Status>
pub unsafe fn get_details_mapped( clock_addr: *const u8, ) -> Result<ClockDetails<Reference, Output>, Status>
Get low level details of a mapped clock’s current status. Wraps the zx_clock_get_details_mapped syscall.
§Safety
|zx_clock_get_details_mapped| must only be called using a |clock_addr| which is the address of a clock’s state currently mapped into the caller’s address space using |zx_vmar_map_clock|. Attempting to get_details from any other address, or from a clock mapping which has been unmapped (completely or partially) will result in undefined behavior.
Sourcepub fn update(
&self,
update: impl Into<ClockUpdate<Reference, Output>>,
) -> Result<(), Status>
pub fn update( &self, update: impl Into<ClockUpdate<Reference, Output>>, ) -> Result<(), Status>
Make adjustments to this clock. Wraps the zx_clock_update syscall. Requires
ZX_RIGHT_WRITE
.
Trait Implementations
Source§impl<Reference, Output> AsHandleRef for Clock<Reference, Output>
impl<Reference, Output> AsHandleRef for Clock<Reference, Output>
Source§fn as_handle_ref(&self) -> Unowned<'_, Handle>
fn as_handle_ref(&self) -> Unowned<'_, Handle>
object_wait_many
.Source§fn raw_handle(&self) -> u32
fn raw_handle(&self) -> u32
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: Instant<MonotonicTimeline>,
) -> Result<Signals, Status>
fn wait_handle( &self, signals: Signals, deadline: Instant<MonotonicTimeline>, ) -> 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<Reference, Output> HandleBased for Clock<Reference, Output>
impl<Reference, Output> HandleBased for Clock<Reference, Output>
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 from_handle(handle: Handle) -> Self
fn from_handle(handle: Handle) -> Self
Source§fn into_handle_based<H>(self) -> Hwhere
H: HandleBased,
fn into_handle_based<H>(self) -> Hwhere
H: HandleBased,
Source§fn from_handle_based<H>(h: H) -> Selfwhere
H: HandleBased,
fn from_handle_based<H>(h: H) -> Selfwhere
H: HandleBased,
fn is_invalid_handle(&self) -> bool
Source§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,
Source§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 TakeFrom<WireHandle> for Clock
impl TakeFrom<WireHandle> for Clock
§fn take_from(from: &WireHandle) -> Clock
fn take_from(from: &WireHandle) -> Clock
T
, taking any resources that can’t be cloned.§const COPY_OPTIMIZATION: CopyOptimization<Self> = _
const COPY_OPTIMIZATION: CopyOptimization<Self> = _
take_from
. Read more