Struct sc_consensus::shared_data::SharedDataLocked [−][src]
pub struct SharedDataLocked<'a, T> { /* fields omitted */ }Expand description
Created by SharedData::shared_data_locked.
As long as this object isn’t dropped, the shared data is held in a mutex guard and the shared
data is tagged as locked. Access to the shared data is provided through
Deref and DerefMut. The trick is to use
Self::release_mutex to release the mutex, but still keep the shared data locked. This means
every other thread trying to access the shared data in this time will need to wait until this
lock is freed.
If this object is dropped without calling Self::release_mutex, the lock will be dropped
immediately.
Implementations
Release the mutex, but keep the shared data locked.
Trait Implementations
Auto Trait Implementations
impl<'a, T> !RefUnwindSafe for SharedDataLocked<'a, T>impl<'a, T> !Send for SharedDataLocked<'a, T>impl<'a, T> Sync for SharedDataLocked<'a, T> where
T: Send + Sync, impl<'a, T> Unpin for SharedDataLocked<'a, T>impl<'a, T> !UnwindSafe for SharedDataLocked<'a, T>Blanket Implementations
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any, Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more
Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s. Read more
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s. Read more
Instruments this type with the provided Span, returning an
Instrumented wrapper. Read more
Instruments this type with the provided Span, returning an
Instrumented wrapper. Read more
type Output = T
type Output = TShould always be Self
The counterpart to unchecked_from.
Consume self to return an equivalent value of T.
pub fn vzip(self) -> VAttaches the provided Subscriber to this type, returning a
WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a
WithDispatch wrapper. Read more