Struct Port
pub struct Port(/* private fields */);Expand description
An object representing a Zircon port.
As essentially a subtype of NullableHandle, it can be freely interconverted.
Implementations§
§impl Port
impl Port
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<Port, Status>
pub fn duplicate(&self, rights: Rights) -> Result<Port, 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 Port
impl Port
pub fn create() -> Port
pub fn create() -> Port
Create an IO port, allowing IO packets to be read and enqueued.
Wraps the zx_port_create syscall.
§Panics
If the kernel reports no memory available to create a port or the process’ job policy denies port creation.
pub fn create_with_opts(opts: PortOptions) -> Port
pub fn queue(&self, packet: &Packet) -> Result<(), Status>
pub fn queue(&self, packet: &Packet) -> Result<(), Status>
Attempt to queue a user packet to the IO port.
Wraps the zx_port_queue syscall.
pub fn wait(
&self,
deadline: Instant<MonotonicTimeline>,
) -> Result<Packet, Status>
pub fn wait( &self, deadline: Instant<MonotonicTimeline>, ) -> Result<Packet, Status>
Wait for a packet to arrive on a (V2) port.
Wraps the zx_port_wait syscall.
Trait Implementations§
§impl AsHandleRef for Port
impl AsHandleRef for Port
§fn as_handle_ref(&self) -> Unowned<'_, NullableHandle>
fn as_handle_ref(&self) -> Unowned<'_, NullableHandle>
object_wait_many.Source§impl CompatFrom<Port> for Port
Available on crate feature fuchsia only.
impl CompatFrom<Port> for Port
fuchsia only.Source§fn compat_from(value: Port) -> Port
fn compat_from(value: Port) -> Port
value into a value of this type.Source§impl<E> Encode<WirePort, E> for Portwhere
E: HandleEncoder + ?Sized,
impl<E> Encode<WirePort, E> for Portwhere
E: HandleEncoder + ?Sized,
Source§fn encode(
self,
encoder: &mut E,
out: &mut MaybeUninit<WirePort>,
constraint: <WirePort as Constrained>::Constraint,
) -> Result<(), EncodeError>
fn encode( self, encoder: &mut E, out: &mut MaybeUninit<WirePort>, constraint: <WirePort as Constrained>::Constraint, ) -> Result<(), EncodeError>
Source§const COPY_OPTIMIZATION: CopyOptimization<Self, W> = _
const COPY_OPTIMIZATION: CopyOptimization<Self, W> = _
Source§impl<E> EncodeOption<WireOptionalPort, E> for Portwhere
E: HandleEncoder + ?Sized,
impl<E> EncodeOption<WireOptionalPort, E> for Portwhere
E: HandleEncoder + ?Sized,
Source§fn encode_option(
this: Option<Port>,
encoder: &mut E,
out: &mut MaybeUninit<WireOptionalPort>,
constraint: (),
) -> Result<(), EncodeError>
fn encode_option( this: Option<Port>, encoder: &mut E, out: &mut MaybeUninit<WireOptionalPort>, constraint: (), ) -> Result<(), EncodeError>
§impl From<NullableHandle> for Port
impl From<NullableHandle> for Port
§fn from(handle: NullableHandle) -> Port
fn from(handle: NullableHandle) -> Port
§impl From<Port> for NullableHandle
impl From<Port> for NullableHandle
§fn from(x: Port) -> NullableHandle
fn from(x: Port) -> NullableHandle
Source§impl FromWire<WirePort> for Port
impl FromWire<WirePort> for Port
Source§const COPY_OPTIMIZATION: CopyOptimization<W, Self> = _
const COPY_OPTIMIZATION: CopyOptimization<W, Self> = _
Source§impl FromWireOption<WireOptionalPort> for Port
impl FromWireOption<WireOptionalPort> for Port
Source§fn from_wire_option(wire: WireOptionalPort) -> Option<Port>
fn from_wire_option(wire: WireOptionalPort) -> Option<Port>
wire to an option of this type.§impl HandleBased for Port
impl HandleBased for Port
§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 Port
impl Ord for Port
§impl PartialOrd for Port
impl PartialOrd for Port
impl Eq for Port
impl StructuralPartialEq for Port
Auto Trait Implementations§
impl Freeze for Port
impl RefUnwindSafe for Port
impl Send for Port
impl Sync for Port
impl Unpin for Port
impl UnwindSafe for Port
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