narupa.utilities.key_lockable_map module¶
Module providing an implementation of a dictionary-like object that can be locked during access to provide a way for asynchronous clients to edit the contents in a thread-safe manner.
-
class
narupa.utilities.key_lockable_map.KeyLockableMap¶ Bases:
objectModule providing an implementation of a dictionary-object that can be locked during access to provide a way for asynchronous clients to edit the contents in a thread-safe manner.
-
delete(owner_id, key)¶
-
get(resource_id, default=None)¶
-
get_all()¶
-
lock_key(owner_id, key, duration=None)¶
-
player_can_lock_key(player_id, key)¶
-
release_key(owner_id, key)¶
-
remove_owner(owner_id)¶
-
set(owner_id, key, value)¶
-
set_no_replace(key, value)¶ Sets a value with the given key, subject to the constraint that the key must not already exist.
Parameters: - key – Key to register value with.
- value – Value to set.
Raises: KeyError – If the key already exists.
-
-
exception
narupa.utilities.key_lockable_map.ResourceLockedError¶ Bases:
Exception