koi_net.components.effector
Classes
|
|
|
Subsystem for dereferencing RIDs. |
- class koi_net.components.effector.BundleSource(*values)[source]
Bases:
StrEnum- ACTION = 'ACTION'
- CACHE = 'CACHE'
- class koi_net.components.effector.Effector(log, cache, resolver, kobj_queue)[source]
Bases:
objectSubsystem for dereferencing RIDs.
- Parameters:
log (Logger)
cache (Cache)
resolver (NetworkResolver)
kobj_queue (KobjQueue)
- cache: Cache
- deref(rid, refresh_cache=False, use_network=False, handle_result=True, write_through=False)[source]
Dereferences an RID.
Attempts to dereference an RID by (in order) reading the cache, calling a bound action, or fetching from other nodes in the newtork.
- Return type:
Bundle|None- Parameters:
rid (RID)
refresh_cache (bool)
use_network (bool)
handle_result (bool)
write_through (bool)
- Args:
rid: RID to dereference refresh_cache: skips cache read when True use_network: enables fetching from other nodes when True handle_result: sends resulting bundle to kobj queue when True write_through: waits for kobj queue to empty when True
- deref_handlers: list[DerefHandler]
- log: Logger
- register_handler(handler)[source]
- Parameters:
handler (DerefHandler)
- resolver: NetworkResolver