fuchsia_async

Trait PacketReceiver

Source
pub trait PacketReceiver:
    Send
    + Sync
    + 'static {
    // Required method
    fn receive_packet(&self, packet: Packet);
}
Expand description

A trait for handling the arrival of a packet on a zx::Port.

This trait should be implemented by users who wish to write their own types which receive asynchronous notifications from a zx::Port. Implementors of this trait generally contain a futures::task::AtomicWaker which is used to wake up the task which can make progress due to the arrival of the packet.

PacketReceivers should be registered with a Core using the register_receiver method on Core, Handle, or Remote. Upon registration, users will receive a ReceiverRegistration which provides key and port methods. These methods can be used to wait on asynchronous signals.

Note that PacketReceivers may receive false notifications intended for a previous receiver, and should handle these gracefully.

Required Methods§

Source

fn receive_packet(&self, packet: Packet)

Receive a packet when one arrives.

Implementors§