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) -> u32
pub fn raw_handle(&self) -> u32
Return the handle’s integer value.
Sourcepub 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.
Sourcepub fn as_handle_ref(&self) -> Unowned<'_, NullableHandle>
pub fn as_handle_ref(&self) -> Unowned<'_, NullableHandle>
Returns a HandleRef referring to this handle.
Sourcepub fn duplicate(&self, rights: Rights) -> Result<Port, Status>
pub fn duplicate(&self, rights: Rights) -> Result<Port, Status>
Wraps the
zx_handle_duplicate
syscall.
Sourcepub fn replace(self, rights: Rights) -> Result<Port, Status>
pub fn replace(self, rights: Rights) -> Result<Port, 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: Instant<MonotonicTimeline>,
) -> WaitResult
pub fn wait_one( &self, signals: Signals, deadline: Instant<MonotonicTimeline>, ) -> 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() -> 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
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: 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§
Source§impl AsHandleRef for Port
impl AsHandleRef for Port
Source§fn as_handle_ref(&self) -> Unowned<'_, NullableHandle>
fn as_handle_ref(&self) -> Unowned<'_, NullableHandle>
object_wait_many.