Struct Counter
pub struct Counter(/* private fields */);Expand description
An object representing a Zircon counter.
As essentially a subtype of NullableHandle, it can be freely interconverted.
Implementations§
§impl Counter
impl Counter
pub fn raw_handle(&self) -> u32
pub fn raw_handle(&self) -> u32
Return the handle’s integer value.
pub fn into_raw(self) -> u32
pub fn into_raw(self) -> u32
Return the raw handle’s integer value without closing it when self is dropped.
pub fn as_handle_ref(&self) -> Unowned<'_, NullableHandle>
pub fn as_handle_ref(&self) -> Unowned<'_, NullableHandle>
Returns a HandleRef referring to this handle.
pub fn duplicate(&self, rights: Rights) -> Result<Counter, Status>
pub fn duplicate(&self, rights: Rights) -> Result<Counter, Status>
Wraps the
zx_handle_duplicate
syscall.
pub fn signal(
&self,
clear_mask: Signals,
set_mask: Signals,
) -> Result<(), Status>
pub fn signal( &self, clear_mask: Signals, set_mask: Signals, ) -> Result<(), Status>
Wraps the
zx_object_signal
syscall.
pub fn wait_one(
&self,
signals: Signals,
deadline: Instant<MonotonicTimeline>,
) -> WaitResult
pub fn wait_one( &self, signals: Signals, deadline: Instant<MonotonicTimeline>, ) -> WaitResult
Wraps the
zx_object_wait_one
syscall.
pub fn wait_async(
&self,
port: &Port,
key: u64,
signals: Signals,
options: WaitAsyncOpts,
) -> Result<(), Status>
pub fn wait_async( &self, port: &Port, key: u64, signals: Signals, options: WaitAsyncOpts, ) -> Result<(), Status>
Wraps the
zx_object_wait_async
syscall.
pub fn get_name(&self) -> Result<Name, Status>
pub fn get_name(&self) -> Result<Name, Status>
Wraps a call to the
zx_object_get_property
syscall for the ZX_PROP_NAME property.
pub fn set_name(&self, name: &Name) -> Result<(), Status>
pub fn set_name(&self, name: &Name) -> Result<(), Status>
Wraps a call to the
zx_object_set_property
syscall for the ZX_PROP_NAME property.
pub fn basic_info(&self) -> Result<HandleBasicInfo, Status>
pub fn basic_info(&self) -> Result<HandleBasicInfo, Status>
Wraps the
zx_object_get_info
syscall for the ZX_INFO_HANDLE_BASIC topic.
pub fn count_info(&self) -> Result<HandleCountInfo, Status>
pub fn count_info(&self) -> Result<HandleCountInfo, Status>
Wraps the
zx_object_get_info
syscall for the ZX_INFO_HANDLE_COUNT topic.
§impl Counter
impl Counter
pub fn create() -> Counter
pub fn create() -> Counter
Create a counter object.
This object contains an integer which can be read, written, incremented and decremented. Readers can wait on [zx::Signals::COUNTER_POSITIVE] and [zx::Signals::COUNTER_NON_POSITIVE] to react on the respective value changes.
See: zx_counter_create syscall.
§Panics
If the kernel reports no memory available or the process’ job policy denies counter creation.
Trait Implementations§
§impl AsHandleRef for Counter
impl AsHandleRef for Counter
§fn as_handle_ref(&self) -> Unowned<'_, NullableHandle>
fn as_handle_ref(&self) -> Unowned<'_, NullableHandle>
object_wait_many.Source§impl<E> Encode<WireCounter, E> for Counterwhere
E: HandleEncoder + ?Sized,
impl<E> Encode<WireCounter, E> for Counterwhere
E: HandleEncoder + ?Sized,
Source§fn encode(
self,
encoder: &mut E,
out: &mut MaybeUninit<WireCounter>,
constraint: <WireCounter as Constrained>::Constraint,
) -> Result<(), EncodeError>
fn encode( self, encoder: &mut E, out: &mut MaybeUninit<WireCounter>, constraint: <WireCounter as Constrained>::Constraint, ) -> Result<(), EncodeError>
Source§const COPY_OPTIMIZATION: CopyOptimization<Self, W> = _
const COPY_OPTIMIZATION: CopyOptimization<Self, W> = _
Source§impl<E> EncodeOption<WireOptionalCounter, E> for Counterwhere
E: HandleEncoder + ?Sized,
impl<E> EncodeOption<WireOptionalCounter, E> for Counterwhere
E: HandleEncoder + ?Sized,
Source§fn encode_option(
this: Option<Counter>,
encoder: &mut E,
out: &mut MaybeUninit<WireOptionalCounter>,
constraint: (),
) -> Result<(), EncodeError>
fn encode_option( this: Option<Counter>, encoder: &mut E, out: &mut MaybeUninit<WireOptionalCounter>, constraint: (), ) -> Result<(), EncodeError>
§impl From<Counter> for NullableHandle
impl From<Counter> for NullableHandle
§fn from(x: Counter) -> NullableHandle
fn from(x: Counter) -> NullableHandle
§impl From<NullableHandle> for Counter
impl From<NullableHandle> for Counter
§fn from(handle: NullableHandle) -> Counter
fn from(handle: NullableHandle) -> Counter
Source§impl FromWire<WireCounter> for Counter
impl FromWire<WireCounter> for Counter
Source§fn from_wire(wire: WireCounter) -> Counter
fn from_wire(wire: WireCounter) -> Counter
wire to this type.Source§const COPY_OPTIMIZATION: CopyOptimization<W, Self> = _
const COPY_OPTIMIZATION: CopyOptimization<W, Self> = _
Source§impl FromWireOption<WireOptionalCounter> for Counter
impl FromWireOption<WireOptionalCounter> for Counter
Source§fn from_wire_option(wire: WireOptionalCounter) -> Option<Counter>
fn from_wire_option(wire: WireOptionalCounter) -> Option<Counter>
wire to an option of this type.§impl HandleBased for Counter
impl HandleBased for Counter
§fn duplicate_handle(&self, rights: Rights) -> Result<Self, Status>
fn duplicate_handle(&self, rights: Rights) -> Result<Self, Status>
§fn replace_handle(self, rights: Rights) -> Result<Self, Status>
fn replace_handle(self, rights: Rights) -> Result<Self, Status>
§fn into_handle(self) -> NullableHandle
fn into_handle(self) -> NullableHandle
§fn from_handle(handle: NullableHandle) -> Self
fn from_handle(handle: NullableHandle) -> Self
§fn into_handle_based<H>(self) -> Hwhere
H: HandleBased,
fn into_handle_based<H>(self) -> Hwhere
H: HandleBased,
§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
§impl Ord for Counter
impl Ord for Counter
§impl PartialOrd for Counter
impl PartialOrd for Counter
impl Eq for Counter
impl StructuralPartialEq for Counter
Auto Trait Implementations§
impl Freeze for Counter
impl RefUnwindSafe for Counter
impl Send for Counter
impl Sync for Counter
impl Unpin for Counter
impl UnwindSafe for Counter
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
§impl<T> EncodableAsHandle for Twhere
T: HandleBased,
impl<T> EncodableAsHandle for Twhere
T: HandleBased,
§impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
§impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
Source§impl<T, W> FromWireOption<WireBox<'_, W>> for Twhere
T: FromWire<W>,
impl<T, W> FromWireOption<WireBox<'_, W>> for Twhere
T: FromWire<W>,
Source§fn from_wire_option(wire: WireBox<'_, W>) -> Option<T>
fn from_wire_option(wire: WireBox<'_, W>) -> Option<T>
wire to an option of this type.Source§impl<T> InstanceFromServiceTransport<T> for T
impl<T> InstanceFromServiceTransport<T> for T
Source§fn from_service_transport(handle: T) -> T
fn from_service_transport(handle: T) -> T
T to Self