Struct Pusher

Source
pub struct Pusher<I>(/* private fields */);
Expand description

The transmitting end-point of queue.

Implementations§

Source§

impl<I> Pusher<I>

Source

pub fn push(&self, item: I) -> Result<(), StaleErr>

Push a node on to the queue and unlock one queue reader, if any.

If there are any tasks or threads waiting for new nodes to arrive they will be notified.

§Errors

StaleErr means there are no Puller’s available to receive any new nodes.

Source

pub fn was_empty(&self) -> bool

Returns a boolean indicating whether the queue was empty or not.

This function is not particularly useful. If you don’t understand why, then please don’t use it.

Source

pub fn weak(&self) -> WeakPusher<I>

Create a weak reference to this Pusher.

Trait Implementations§

Source§

impl<I> Clone for Pusher<I>

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<I> Drop for Pusher<I>

Source§

fn drop(&mut self)

Drop a Pusher instance.

When the final instance of a sigq’s instance’s Pusher is dropped, wake up any Puller’s waiting for new nodes to arrive.

Auto Trait Implementations§

§

impl<I> Freeze for Pusher<I>

§

impl<I> !RefUnwindSafe for Pusher<I>

§

impl<I> Send for Pusher<I>
where I: Send,

§

impl<I> Sync for Pusher<I>
where I: Send,

§

impl<I> Unpin for Pusher<I>

§

impl<I> !UnwindSafe for Pusher<I>

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

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>,

Source§

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.