pub struct UnprotectedShield { /* private fields */ }
Expand description
An UnprotectedShield
is a shield that does not actually lock an epoch, but can still be used to
manipulate protected atomic pointers.
Obtaining an UnprotectedShield
is unsafe, since it allows unsafe access to atomics, and is only
possible through flize::unprotected
.
For documentation on functionality please check the documentation of flize::unprotected
and the Shield
trait.
Trait Implementations§
Source§impl Clone for UnprotectedShield
impl Clone for UnprotectedShield
Source§fn clone(&self) -> UnprotectedShield
fn clone(&self) -> UnprotectedShield
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for UnprotectedShield
impl Debug for UnprotectedShield
Source§impl<'a> Shield<'a> for UnprotectedShield
impl<'a> Shield<'a> for UnprotectedShield
Source§fn repin(&mut self)
fn repin(&mut self)
Attempt to synchronize the current thread to allow advancing the global epoch.
This might be useful to call every once in a while if you plan on holding a
Shield
for an extended amount of time as to not stop garbage collection. Read moreSource§fn repin_after<F, R>(&mut self, f: F) -> Rwhere
F: FnOnce() -> R,
fn repin_after<F, R>(&mut self, f: F) -> Rwhere
F: FnOnce() -> R,
Attempt to synchronize the current thread like
Shield::repin
but executing a closure
during the time the Shield
is temporarily deactivated. Read moreimpl Copy for UnprotectedShield
Auto Trait Implementations§
impl Freeze for UnprotectedShield
impl RefUnwindSafe for UnprotectedShield
impl Send for UnprotectedShield
impl Sync for UnprotectedShield
impl Unpin for UnprotectedShield
impl UnwindSafe for UnprotectedShield
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