Returns an object stored under the specified name, or null
.
Proposes an unused name.
Proposes an unused name.
Compute and return a unique id.
Attempts to release the specified name.
Attempts to release the specified name.
the name under which an object was stored
true
if released, false
otherwise
Atomically replaces an existing entry in the unique store with a new one.
Atomically replaces an existing entry in the unique store with a new one.
The new entry must be stored under an existing name, and it must have the same UID as the entry that is currently under that name.
the existing name
the expected old entry under the specified name
the new entry to store under the specified name
true
if an existing entry was replaced, false
otherwise
Attempt to store the value x
with the proposedName
.
Attempt to store the value x
with the proposedName
.
Note: the UID of x
must be unique among all x
ever stored in this
data structure. Use reserveId
to obtain a UID.
Returns the name under which x
is stored. If the name is not available, returns
null
and does not store the object.
proposed name, or null
to assign any non-existing name
object to store
name under which x
was stored, or null
if proposed
name already existed (in which case, nothing was stored)
Atomically returns the values in this unique store.
Stores
Identifiable
objects along with their unique names, in a scalable manner.The UIDs of the objects stored in this data structure must always be unique for an instance of the data structure. Users may use
reserveId
to achieve this. The names of the objects need not be unique.