Struct UnboundedEnqueueHandle

Source
pub struct UnboundedEnqueueHandle<'a, T> { /* private fields */ }
Expand description

A enqueue handle to an UnboundedQueue, allowing for bulk enqueues efficiently. Internally, the unbounded queue manages the queue of bounded queues with hazard pointers to avoid the ABA problem, this allows minimizing the creation of these hazard pointers.

§Example

use lfqueue::UnboundedQueue;

let queue = UnboundedQueue::<usize>::new();
let mut handle = queue.enqueue_handle();
handle.enqueue(3);

Implementations§

Source§

impl<'a, T> UnboundedEnqueueHandle<'a, T>
where T: Send + Sync,

Source

pub fn enqueue(&mut self, item: T)

Enqueues an item on the underlying queue.

§Example
use lfqueue::{UnboundedEnqueueHandle, UnboundedQueue};

let queue = UnboundedQueue::<usize>::new();
let mut handle = queue.enqueue_handle();
handle.enqueue(3);

Auto Trait Implementations§

§

impl<'a, T> Freeze for UnboundedEnqueueHandle<'a, T>

§

impl<'a, T> !RefUnwindSafe for UnboundedEnqueueHandle<'a, T>

§

impl<'a, T> Send for UnboundedEnqueueHandle<'a, T>

§

impl<'a, T> Sync for UnboundedEnqueueHandle<'a, T>

§

impl<'a, T> Unpin for UnboundedEnqueueHandle<'a, T>

§

impl<'a, T> !UnwindSafe for UnboundedEnqueueHandle<'a, T>

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, 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.
Source§

impl<T> Reclaim for T