pub struct RawRwLock { /* private fields */ }
Expand description

Raw reader-writer lock type backed by the parking lot.

Trait Implementations

Initial value for an unlocked RwLock.

Marker type which determines whether a lock guard should be Send. Use one of the GuardSend or GuardNoSend helper types here. Read more

Acquires an exclusive lock, blocking the current thread until it is able to do so.

Attempts to acquire an exclusive lock without blocking.

Releases an exclusive lock. Read more

Acquires a shared lock, blocking the current thread until it is able to do so.

Attempts to acquire a shared lock without blocking.

Releases a shared lock. Read more

Checks if this RwLock is currently locked in any way.

Check if this RwLock is currently exclusively locked.

Atomically downgrades an exclusive lock into a shared lock without allowing any thread to take an exclusive lock in the meantime. Read more

Releases a shared lock using a fair unlock protocol. Read more

Releases an exclusive lock using a fair unlock protocol. Read more

Temporarily yields a shared lock to a waiting thread if there is one. Read more

Temporarily yields an exclusive lock to a waiting thread if there is one. Read more

Acquires a shared lock without deadlocking in case of a recursive lock.

Attempts to acquire a shared lock without deadlocking in case of a recursive lock.

Attempts to acquire a shared lock until a timeout is reached, without deadlocking in case of a recursive lock. Read more

Attempts to acquire a shared lock until a timeout is reached, without deadlocking in case of a recursive lock. Read more

Duration type used for try_lock_for.

Instant type used for try_lock_until.

Attempts to acquire a shared lock until a timeout is reached.

Attempts to acquire a shared lock until a timeout is reached.

Attempts to acquire an exclusive lock until a timeout is reached.

Attempts to acquire an exclusive lock until a timeout is reached.

Acquires an upgradable lock, blocking the current thread until it is able to do so.

Attempts to acquire an upgradable lock without blocking.

Releases an upgradable lock. Read more

Upgrades an upgradable lock to an exclusive lock. Read more

Attempts to upgrade an upgradable lock to an exclusive lock without blocking. Read more

Downgrades an upgradable lock to a shared lock. Read more

Downgrades an exclusive lock to an upgradable lock. Read more

Releases an upgradable lock using a fair unlock protocol. Read more

Temporarily yields an upgradable lock to a waiting thread if there is one. Read more

Attempts to acquire an upgradable lock until a timeout is reached.

Attempts to acquire an upgradable lock until a timeout is reached.

Attempts to upgrade an upgradable lock to an exclusive lock until a timeout is reached. Read more

Attempts to upgrade an upgradable lock to an exclusive lock until a timeout is reached. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

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

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

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

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait. Read more

Use this to cast from one trait object type to another. Read more

Use this to upcast a trait to one of its supertraits. Read more

Use this to cast from one trait object type to another. This method is more customizable than the dyn_cast method. Here you can also specify the “source” trait from which the cast is defined. This can for example allow using casts from a supertrait of the current trait object. Read more

Use this to cast from one trait object type to another. With this method the type parameter is a config type that uniquely specifies which cast should be preformed. Read more

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Should always be Self

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches 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