- Companion:
- class
Type members
Classlikes
Value members
Concrete methods
Operates with default and anytime default is present instead information is removed from underlying ref. This is very useful as a default state can be used to prevent space leaks over high arity maprefs.
Operates with default and anytime default is present instead information is removed from underlying ref. This is very useful as a default state can be used to prevent space leaks over high arity maprefs.
Also useful for anytime a shared storage location is used for a ref, i.e. DB or Redis to not waste space. // Some(default) -- None
Takes a ConcurrentHashMap, giving you access to the mutable state from the constructor.
Takes a ConcurrentHashMap, giving you access to the mutable state from the constructor.
This uses universal hashCode and equality on K.
Takes a scala.collection.concurrent.Map, giving you access to the mutable state from the constructor.
Takes a scala.collection.concurrent.Map, giving you access to the mutable state from the constructor.
Creates a sharded map ref from a sequence of refs.
Creates a sharded map ref from a sequence of refs.
This uses universal hashCode and equality on K.
Heavy Contention on Use, Allows you to access the underlying map through processes outside of this interface. Useful for Atomic Map[K, V] => Map[K, V] interactions.
Heavy Contention on Use, Allows you to access the underlying map through processes outside of this interface. Useful for Atomic Map[K, V] => Map[K, V] interactions.
This uses universal hashCode and equality on K.
This allocates mutable memory, so it has to be inside F. The way to use things like this is
to allocate one then .map
them inside of constructors that need to access them.
This allocates mutable memory, so it has to be inside F. The way to use things like this is
to allocate one then .map
them inside of constructors that need to access them.
It is usually a mistake to have a G[RefMap[F, K, V]]
field. You want RefMap[F, K, V]
field which means the thing that needs it will also have to be inside of F[_]
, which is
because it needs access to mutable state so allocating it is also an effect.
This uses universal hashCode and equality on K.
Creates a sharded map ref to reduce atomic contention on the Map, given an efficient and equally distributed hash, the contention should allow for interaction like a general datastructure. Created in G, operates in F.
Creates a sharded map ref to reduce atomic contention on the Map, given an efficient and equally distributed hash, the contention should allow for interaction like a general datastructure. Created in G, operates in F.
This uses universal hashCode and equality on K.
Heavy Contention on Use. Created in G, operates in F.
Heavy Contention on Use. Created in G, operates in F.
This uses universal hashCode and equality on K.
This allocates mutable memory, so it has to be inside F. The way to use things like this is
to allocate one then .map
them inside of constructors that need to access them.
This allocates mutable memory, so it has to be inside F. The way to use things like this is
to allocate one then .map
them inside of constructors that need to access them.
It is usually a mistake to have a F[RefMap[F, K, V]]
field. You want RefMap[F, K, V]
field which means the thing that needs it will also have to be inside of F[_]
, which is
because it needs access to mutable state so allocating it is also an effect.
This uses universal hashCode and equality on K.
Creates a sharded map ref to reduce atomic contention on the Map, given an efficient and equally distributed hash, the contention should allow for interaction like a general datastructure.
Creates a sharded map ref to reduce atomic contention on the Map, given an efficient and equally distributed hash, the contention should allow for interaction like a general datastructure.
This uses universal hashCode and equality on K.