Crate mbarc_map

Source
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§

DataReference
Atomic, reference counted pointer to data stored within an [MbarcMap].
DataReferenceGeneric
A Genericized version of DataReference<T>
FaVec
Iter
An iterator over the entries of a MbarcMap.
LockedContainer
Represents a lock to an MbarcMap’s internal map, used exclusively for locked, by-reference iteration see iter_exclusive
MbarcMap
The heart of this crate, a map which is safe to use in threading contexts without wrapping in a Mutex.

Type Aliases§

FaVecIndex