Source code for koi_net.components.knowledge_handlers.basic_rid_handler

from dataclasses import dataclass

from koi_net.protocol.knowledge_object import KnowledgeObject
from koi_net.protocol.event import EventType
from ..interfaces import KnowledgeHandler, STOP_CHAIN, HandlerType
from ..identity import NodeIdentity


[docs] @dataclass class BasicRidHandler(KnowledgeHandler): identity: NodeIdentity handler_type = HandlerType.RID
[docs] def handle(self, kobj: KnowledgeObject): if kobj.rid == self.identity.rid and kobj.source is not None: return STOP_CHAIN if kobj.event_type == EventType.FORGET: kobj.normalized_event_type = EventType.FORGET return kobj