Expand description
Implementation of a Minimally-blocking, Atomic Reference Counted Map.
To break that down, map at the heart of this crate achieves the following core goals:
- Minimally-blocking: a user should never need to wrap this map in a mutex, all internal mutexes are held for as short of a duration as possible, and there are no deadlock cases. Users only need to manually take locks to individual elements.
- Atomic Reference Counted - all data stored within the map are reference counted in a thread-safe manner, and it is safe to hold these references indefinitely
Structs§
- Data
Reference - Atomic, reference counted pointer to data stored within an [MbarcMap].
- Data
Reference Generic - A Genericized version of DataReference<T>
- FaVec
- Iter
- An iterator over the entries of a
MbarcMap
. - Locked
Container - Represents a lock to an MbarcMap’s internal map, used exclusively for locked, by-reference iteration
see
iter_exclusive
- Mbarc
Map - The heart of this crate, a map which is safe to use in threading contexts without wrapping in a Mutex.