pub struct Seize(/* private fields */);Expand description
seize::Collector backend for safe memory reclamation.
Defaults to a batch size of 256, which we found to provide the best balance of throughput and reclamation efficiency in our benchmarks.
§Examples
use arctic::ConcurrentMap;
use arctic::concurrent::smr::Seize;
let map = ConcurrentMap::<u64, Box<u64>, Seize>::with_smr(Seize::from(
seize::Collector::new().batch_size(256)
));Trait Implementations§
Source§impl<K: Key, V: Value> Smr<K, V> for Seize
impl<K: Key, V: Value> Smr<K, V> for Seize
Source§type Guard<'g> = LocalGuard<'g>
where
V: 'g,
Self: 'g
type Guard<'g> = LocalGuard<'g> where V: 'g, Self: 'g
Guard type that protects nodes and values during its lifetime,
can be used to retire allocations, and unprotects when it is dropped.
Auto Trait Implementations§
impl !Freeze for Seize
impl !UnwindSafe for Seize
impl RefUnwindSafe for Seize
impl Send for Seize
impl Sync for Seize
impl Unpin for Seize
impl UnsafeUnpin for Seize
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