pub(crate) struct Tx<T> {
block_tail: AtomicPtr<Block<T>>,
tail_position: AtomicUsize,
}
Expand description
List queue transmit handle.
Fields§
§block_tail: AtomicPtr<Block<T>>
Tail in the Block
mpmc list.
tail_position: AtomicUsize
Position to push the next message. This references a block and offset into the block.
Implementations§
source§impl<T> Tx<T>
impl<T> Tx<T>
sourcepub(crate) fn close(&self)
pub(crate) fn close(&self)
Closes the send half of the list.
Similar process as pushing a value, but instead of writing the value &
setting the ready flag, the TX_CLOSED
flag is set on the block.
fn find_block(&self, slot_index: usize) -> NonNull<Block<T>>
pub(crate) unsafe fn reclaim_block(&self, block: NonNull<Block<T>>)
pub(crate) fn is_closed(&self) -> bool
Trait Implementations§
Auto Trait Implementations§
impl<T> !Freeze for Tx<T>
impl<T> RefUnwindSafe for Tx<T>
impl<T> Send for Tx<T>
impl<T> Sync for Tx<T>
impl<T> Unpin for Tx<T>
impl<T> !UnwindSafe for Tx<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