pub struct UnboundedFullHandle<'a, T> { /* private fields */ }
Expand description
A full 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.full_handle();
handle.enqueue(3);
assert_eq!(handle.dequeue(), Some(3));
assert!(handle.dequeue().is_none());
Implementations§
Auto Trait Implementations§
impl<'a, T> Freeze for UnboundedFullHandle<'a, T>
impl<'a, T> !RefUnwindSafe for UnboundedFullHandle<'a, T>
impl<'a, T> Send for UnboundedFullHandle<'a, T>
impl<'a, T> Sync for UnboundedFullHandle<'a, T>
impl<'a, T> Unpin for UnboundedFullHandle<'a, T>
impl<'a, T> !UnwindSafe for UnboundedFullHandle<'a, T>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more