[][src]Module fast_async_mutex::mutex_ordered

The fast async mutex which uses spinlock algorithm with using waker This realisation will check an order of mutex acquiring.

Structs

OrderedMutex

An async ordered mutex. It will be works with any async runtime in Rust, it may be a tokio, smol, async-std and etc..

OrderedMutexGuard

The Simple OrderedMutex Guard As long as you have this guard, you have exclusive access to the underlying T. The guard internally borrows the OrderedMutex, so the mutex will not be dropped while a guard exists. The lock is automatically released and waked the next locker whenever the guard is dropped, at which point lock will succeed yet again.

OrderedMutexGuardFuture
OrderedMutexOwnedGuard

An owned handle to a held OrderedMutex. This guard is only available from a OrderedMutex that is wrapped in an Arc. It is identical to OrderedMutexGuard, except that rather than borrowing the OrderedMutex, it clones the Arc, incrementing the reference count. This means that unlike OrderedMutexGuard, it will have the 'static lifetime. As long as you have this guard, you have exclusive access to the underlying T. The guard internally keeps a reference-couned pointer to the original OrderedMutex, so even if the lock goes away, the guard remains valid. The lock is automatically released and waked the next locker whenever the guard is dropped, at which point lock will succeed yet again.

OrderedMutexOwnedGuardFuture