Struct crossbeam_epoch::sync::list::Entry
source · pub(crate) struct Entry {
next: Atomic<Entry>,
}
Expand description
An entry in a linked list.
An Entry is accessed from multiple threads, so it would be beneficial to put it in a different cache-line than thread-local data in terms of performance.
Fields§
§next: Atomic<Entry>
The next entry in the linked list. If the tag is 1, this entry is marked as deleted.
Implementations§
source§impl Entry
impl Entry
sourcepub(crate) unsafe fn delete(&self, guard: &Guard)
pub(crate) unsafe fn delete(&self, guard: &Guard)
Marks this entry as deleted, deferring the actual deallocation to a later iteration.
§Safety
The entry should be a member of a linked list, and it should not have been deleted.
It should be safe to call C::finalize
on the entry after the guard
is dropped, where C
is the associated helper for the linked list.
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for Entry
impl RefUnwindSafe for Entry
impl Send for Entry
impl Sync for Entry
impl Unpin for Entry
impl UnwindSafe for Entry
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