use Arc;
use ;
/// Factory for per-entity (or per-key) [`Lock`]s.
///
/// `QueuedRepository` uses a [`LockManager`] to obtain a lock for each
/// aggregate stream. The default [`InMemoryLockManager`](super::InMemoryLockManager)
/// stores locks in a `HashMap`; distributed implementations can talk to Redis,
/// Postgres advisory locks, or another lease backend.