Struct fused_lock::FusedRwLock[][src]

pub struct FusedRwLock<T: ?Sized> { /* fields omitted */ }
Expand description

A special RwLock which can be locked exclusively any number of consecutive times, but once initially locked shared, can never be unlocked. This allows unguarded reads to occur

Implementations

Constructs a new, initially unlocked, RwLock

Moves the inner value out of the FusedRwLock. This is sound because self is moved into the function, and thus no other accesses exist

Mutably borrows the interior of the lock, if it has not been locked for reading access This is sound because taking self by &mut statically guarantees no other accesses exist. Returns None if the lock has been locked for reading

Mutably borrows the interior of the lock, even if it has been locked for reading. This function is unsafe because, while not necessarily undefined behaviour, calling this function after it was locked for reading can be used to violate the logical invariant of FusedRwLock.

Check if the FusedRwLock has been locked for reading. This does not guarantee any synchronization, even if it returns true. Except where self is reborrowed from &mut, it should only be used as a hint to avoid needless calls to self.try_read A return of true is guaranteed to remain true for the lifetime of the lock. A return of false may be invalidated at any time.

Locks this FusedRwLock for reading. After this call, it becomes impossible to acquire the lock for writing, and safe code cannot be used to modify the inner value (except inside an UnsafeCell)

Returns a shared reference to the interior of the lock, if it has been locked for reading.

Locks the RwLock for reading, and returns a shared reference to the interior of the lock

Acquires an exclusive lock to the interior of the lock, if this lock has not already been locked for reading. Otherwise, returns None

Trait Implementations

Returns the “default value” for a type. 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

Performs the conversion.

Performs the conversion.

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.