pub struct RundownGuard<'r> { /* private fields */ }Expand description
An RAII implementation of a “scoped lock” pattern, but specialized to the needs of run-down protection. When this structure is dropped (falls out of scope), the rundown protection reference that was previously acquired is released.
This structure is created by the try_acquire method on RundownRef.
This type attempts to follow the RAII guidance here: https://github.com/rust-unofficial/patterns/blob/master/patterns/RAII.md
Implementations§
Source§impl<'r> RundownGuard<'r>
impl<'r> RundownGuard<'r>
Sourcepub const fn new(owned_run_down_ref: &'r RundownRef) -> RundownGuard<'r>
pub const fn new(owned_run_down_ref: &'r RundownRef) -> RundownGuard<'r>
Creates a new RundownGuard which owns an instance of run-down
protection on the RundownRef provided.
§Arguments
owned_run_down_ref- The run-down reference to release when the guard goes out of scope.
Trait Implementations§
Auto Trait Implementations§
impl<'r> Freeze for RundownGuard<'r>
impl<'r> !RefUnwindSafe for RundownGuard<'r>
impl<'r> Send for RundownGuard<'r>
impl<'r> Sync for RundownGuard<'r>
impl<'r> Unpin for RundownGuard<'r>
impl<'r> !UnwindSafe for RundownGuard<'r>
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