pub struct ReadOnlyRwLock<T>(/* private fields */);Expand description
Read-only wrapper on an Arc<RwLock<T>> contextual value.
Implementations§
Source§impl<T> ReadOnlyRwLock<T>
impl<T> ReadOnlyRwLock<T>
Sourcepub fn new(l: Arc<RwLock<RawRwLock, T>>) -> ReadOnlyRwLock<T>
pub fn new(l: Arc<RwLock<RawRwLock, T>>) -> ReadOnlyRwLock<T>
New.
Sourcepub fn read(&self) -> RwLockReadGuard<'_, RawRwLock, T>
pub fn read(&self) -> RwLockReadGuard<'_, RawRwLock, T>
Locks this RwLock with shared read access, blocking the current thread until it can be acquired.
See parking_lot::RwLock::read for more details.
Sourcepub fn read_recursive(&self) -> RwLockReadGuard<'_, RawRwLock, T>
pub fn read_recursive(&self) -> RwLockReadGuard<'_, RawRwLock, T>
Locks this RwLock with shared read access, blocking the current thread until it can be acquired.
Unlike read, this method is guaranteed to succeed without blocking if
another read lock is held at the time of the call.
See parking_lot::RwLock::read_recursive for more details.
Sourcepub fn try_read(&self) -> Option<RwLockReadGuard<'_, RawRwLock, T>>
pub fn try_read(&self) -> Option<RwLockReadGuard<'_, RawRwLock, T>>
Attempts to acquire this RwLock with shared read access.
See parking_lot::RwLock::try_read for more details.
Sourcepub fn try_read_recursive(&self) -> Option<RwLockReadGuard<'_, RawRwLock, T>>
pub fn try_read_recursive(&self) -> Option<RwLockReadGuard<'_, RawRwLock, T>>
Attempts to acquire this RwLock with shared read access.
See parking_lot::RwLock::try_read_recursive for more details.
Sourcepub fn ptr_eq(&self, other: &ReadOnlyRwLock<T>) -> bool
pub fn ptr_eq(&self, other: &ReadOnlyRwLock<T>) -> bool
Gets if the read-only shared reference is to the same lock as other.
Trait Implementations§
Source§impl<T> Clone for ReadOnlyRwLock<T>
impl<T> Clone for ReadOnlyRwLock<T>
Source§fn clone(&self) -> ReadOnlyRwLock<T>
fn clone(&self) -> ReadOnlyRwLock<T>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl<T> Freeze for ReadOnlyRwLock<T>
impl<T> !RefUnwindSafe for ReadOnlyRwLock<T>
impl<T> Send for ReadOnlyRwLock<T>
impl<T> Sync for ReadOnlyRwLock<T>
impl<T> Unpin for ReadOnlyRwLock<T>
impl<T> !UnwindSafe for ReadOnlyRwLock<T>
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
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.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more