pub struct Iob(/* private fields */);
Expand description
An object representing a Zircon IOBuffer.
As essentially a subtype of Handle
, it can be freely interconverted.
Implementations§
Source§impl Iob
impl Iob
Sourcepub fn create(
_options: IobOptions,
regions: &[IobRegion<'_>],
) -> Result<(Iob, Iob), Status>
pub fn create( _options: IobOptions, regions: &[IobRegion<'_>], ) -> Result<(Iob, Iob), Status>
Creates an IOBuffer.
Wraps the zx_iob_create syscall.
Sourcepub fn write(
&self,
options: IobWriteOptions,
region_index: u32,
data: &[u8],
) -> Result<(), Status>
pub fn write( &self, options: IobWriteOptions, region_index: u32, data: &[u8], ) -> Result<(), Status>
Performs a mediated write to an IOBuffer region.
Wraps the zx_iob_writev syscall.
Sourcepub fn writev(
&self,
_options: IobWriteOptions,
region_index: u32,
iovecs: &[IobIoSlice<'_>],
) -> Result<(), Status>
pub fn writev( &self, _options: IobWriteOptions, region_index: u32, iovecs: &[IobIoSlice<'_>], ) -> Result<(), Status>
Performs a mediated write (with vectors) to an IOBuffer region.
Wraps the
zx_stream_writev
syscall.
Trait Implementations§
Source§impl AsHandleRef for Iob
impl AsHandleRef for Iob
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>,
) -> WaitResult
fn wait_handle( &self, signals: Signals, deadline: Instant<MonotonicTimeline>, ) -> WaitResult
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.
§impl CompatFrom<Iob> for Iob
impl CompatFrom<Iob> for Iob
§fn compat_from(value: Iob) -> Iob
fn compat_from(value: Iob) -> Iob
Converts
value
into a value of this type.§impl Encodable for Iob
impl Encodable for Iob
§const COPY_OPTIMIZATION: CopyOptimization<Self, Self::Encoded> = _
const COPY_OPTIMIZATION: CopyOptimization<Self, Self::Encoded> = _
Whether the conversion from
Self
to Self::Encoded
is equivalent to copying the raw bytes
of Self
. Read more§impl EncodableOption for Iob
impl EncodableOption for Iob
§type EncodedOption = WireOptionalIob
type EncodedOption = WireOptionalIob
The wire type for the optional value.
§impl<E> Encode<E> for Iobwhere
E: HandleEncoder + ?Sized,
impl<E> Encode<E> for Iobwhere
E: HandleEncoder + ?Sized,
§fn encode(
self,
encoder: &mut E,
out: &mut MaybeUninit<<Iob as Encodable>::Encoded>,
) -> Result<(), EncodeError>
fn encode( self, encoder: &mut E, out: &mut MaybeUninit<<Iob as Encodable>::Encoded>, ) -> Result<(), EncodeError>
Encodes this value into an encoder and output.
§impl<E> EncodeOption<E> for Iobwhere
E: HandleEncoder + ?Sized,
impl<E> EncodeOption<E> for Iobwhere
E: HandleEncoder + ?Sized,
§fn encode_option(
this: Option<Iob>,
encoder: &mut E,
out: &mut MaybeUninit<<Iob as EncodableOption>::EncodedOption>,
) -> Result<(), EncodeError>
fn encode_option( this: Option<Iob>, encoder: &mut E, out: &mut MaybeUninit<<Iob as EncodableOption>::EncodedOption>, ) -> Result<(), EncodeError>
Encodes this optional value into an encoder and output.
§impl FromWire<WireIob> for Iob
impl FromWire<WireIob> for Iob
§const COPY_OPTIMIZATION: CopyOptimization<W, Self> = _
const COPY_OPTIMIZATION: CopyOptimization<W, Self> = _
§impl FromWireOption<WireOptionalIob> for Iob
impl FromWireOption<WireOptionalIob> for Iob
§fn from_wire_option(wire: WireOptionalIob) -> Option<Iob>
fn from_wire_option(wire: WireOptionalIob) -> Option<Iob>
Converts the given
wire
to an option of this type.Source§impl HandleBased for Iob
impl HandleBased for Iob
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 Ord for Iob
impl Ord for Iob
Source§impl PartialOrd for Iob
impl PartialOrd for Iob
impl Eq for Iob
impl StructuralPartialEq for Iob
Auto Trait Implementations§
impl Freeze for Iob
impl RefUnwindSafe for Iob
impl Send for Iob
impl Sync for Iob
impl Unpin for Iob
impl UnwindSafe for Iob
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.
Source§impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
Source§impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
§impl<T, W> FromWireOption<WireBox<'_, W>> for Twhere
T: FromWire<W>,
impl<T, W> FromWireOption<WireBox<'_, W>> for Twhere
T: FromWire<W>,
§fn from_wire_option(wire: WireBox<'_, W>) -> Option<T>
fn from_wire_option(wire: WireBox<'_, W>) -> Option<T>
Converts the given
wire
to an option of this type.