Returns a reference to the latest hash table, creating one if it doesnβt exist yet.
The reference is valid forever. However, the HashTable
it references might become stale
at any point. Meaning it still exists, but it is not the instance in active use.
Returns a reference to the latest hash table, creating one if it doesnβt exist yet.
The reference is valid forever. However, the HashTable
it references might become stale
at any point. Meaning it still exists, but it is not the instance in active use.
Locks the bucket for the given key and returns a reference to it.
The returned bucket must be unlocked again in order to not cause deadlocks.
Locks the bucket for the given key and returns a reference to it. But checks that the key
hasnβt been changed in the meantime due to a requeue.
The returned bucket must be unlocked again in order to not cause deadlocks.
Locks the two buckets for the given pair of keys and returns references to them.
The returned buckets must be unlocked again in order to not cause deadlocks.
Parks the current thread in the queue associated with the given key.
Iterate through all ThreadData
objects in the bucket and insert them into the given table
in the bucket their key correspond to for this table.
Unlock a pair of buckets
Unparks all threads in the queue associated with the given key.
Unparks a number of threads from the front of the queue associated with
key
depending on the results of a filter function which inspects the
ParkToken
associated with each thread.
Unparks one thread from the queue associated with the given key.
Removes all threads from the queue associated with key_from
, optionally
unparks the first one and requeues the rest onto the queue associated with
key_to
.