pub trait RwLockFor<L> {
type Data;
type ReadGuard<'l>: Deref<Target = Self::Data>
where Self: 'l;
type WriteGuard<'l>: DerefMut<Target = Self::Data>
where Self: 'l;
// Required methods
fn read_lock(&self) -> Self::ReadGuard<'_>;
fn write_lock(&self) -> Self::WriteGuard<'_>;
}
Expand description
Describes how to acquire reader and writer locks to the implementing type.
An implementation of RwLockFor<L>
for some Self
means that Self
can
be used to unlock some state that is under the lock indicated by L
.
Required Associated Types§
Sourcetype ReadGuard<'l>: Deref<Target = Self::Data>
where
Self: 'l
type ReadGuard<'l>: Deref<Target = Self::Data> where Self: 'l
A guard providing read access to the data.
Sourcetype WriteGuard<'l>: DerefMut<Target = Self::Data>
where
Self: 'l
type WriteGuard<'l>: DerefMut<Target = Self::Data> where Self: 'l
A guard providing write access to the data.
Required Methods§
Sourcefn read_lock(&self) -> Self::ReadGuard<'_>
fn read_lock(&self) -> Self::ReadGuard<'_>
Acquires a read lock on the data in Self
indicated by L
.
Sourcefn write_lock(&self) -> Self::WriteGuard<'_>
fn write_lock(&self) -> Self::WriteGuard<'_>
Acquires a write lock on the data in Self
indicated by L
.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.