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§
Source§impl Port
impl Port
Sourcepub fn raw_handle(&self) -> zx_handle_t
pub fn raw_handle(&self) -> zx_handle_t
Return the handle’s integer value.
Sourcepub fn into_raw(self) -> zx_handle_t
pub fn into_raw(self) -> zx_handle_t
Return the raw handle’s integer value without closing it when self is dropped.
Sourcepub fn duplicate(&self, rights: Rights) -> Result<Self, Status>
pub fn duplicate(&self, rights: Rights) -> Result<Self, Status>
Wraps the
zx_handle_duplicate
syscall.
Sourcepub fn replace(self, rights: Rights) -> Result<Self, Status>
pub fn replace(self, rights: Rights) -> Result<Self, Status>
Wraps the
zx_handle_replace
syscall.
Sourcepub 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.
Sourcepub fn wait_one(
&self,
signals: Signals,
deadline: MonotonicInstant,
) -> WaitResult
pub fn wait_one( &self, signals: Signals, deadline: MonotonicInstant, ) -> WaitResult
Wraps the
zx_object_wait_one
syscall.
Sourcepub 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.
Sourcepub 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.
Sourcepub 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.
Sourcepub 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.
Sourcepub 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.
Source§impl Port
impl Port
Sourcepub fn create() -> Self
pub fn create() -> Self
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) -> Self
Sourcepub 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.
Sourcepub fn wait(&self, deadline: MonotonicInstant) -> Result<Packet, Status>
pub fn wait(&self, deadline: MonotonicInstant) -> Result<Packet, Status>
Wait for a packet to arrive on a (V2) port.
Wraps the zx_port_wait syscall.
Trait Implementations§
Source§impl AsHandleRef for Port
impl AsHandleRef for Port
Source§fn as_handle_ref(&self) -> HandleRef<'_>
fn as_handle_ref(&self) -> HandleRef<'_>
object_wait_many.