pub struct EventReceiver<E> { /* private fields */ }
Expand description

A generic and synchronized queue where the user can send and receive events. See EventSender to see how send events. This entity can be used as an utility for the crate::network module redirecting the network events to process them later from here.

Implementations§

source§

impl<E> EventReceiver<E>
where E: Send + 'static,

source

pub fn sender(&self) -> &EventSender<E>

Returns the internal sender reference to this queue. This reference can be safety cloned and shared to other threads in order to get several senders to the same queue.

source

pub fn receive(&mut self) -> E

Blocks the current thread until an event is received by this queue.

source

pub fn receive_timeout(&mut self, timeout: Duration) -> Option<E>

Blocks the current thread until an event is received by this queue or timeout is exceeded. If timeout is reached a None is returned, otherwise the event is returned.

source

pub fn try_receive(&mut self) -> Option<E>

Attempts to receive an event without blocking. Returns Some(E) if an event was received by this queue, otherwise returns None.

Trait Implementations§

source§

impl<E> Default for EventReceiver<E>
where E: Send + 'static,

source§

fn default() -> Self

Creates a new event queue for generic incoming events.

Auto Trait Implementations§

§

impl<E> RefUnwindSafe for EventReceiver<E>
where E: RefUnwindSafe,

§

impl<E> Send for EventReceiver<E>
where E: Send,

§

impl<E> Sync for EventReceiver<E>
where E: Sync + Send,

§

impl<E> Unpin for EventReceiver<E>
where E: Unpin,

§

impl<E> UnwindSafe for EventReceiver<E>
where E: RefUnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V