edri.events.edri.router package

Submodules

edri.events.edri.router.demands module

class edri.events.edri.router.demands.Demands(requests: Set[Type[edri.dataclass.event.Event]], responses: Set[Type[edri.dataclass.event.Event]], router_id: uuid.UUID | None = None)[source]

Bases: Router

router_id: UUID | None = None

edri.events.edri.router.health_check module

class edri.events.edri.router.health_check.EdriHealth[source]

Bases: Router

class edri.events.edri.router.health_check.EdriLive[source]

Bases: Router

class edri.events.edri.router.health_check.EdriReady[source]

Bases: Router

class edri.events.edri.router.health_check.HealthCheck[source]

Bases: Router

edri.events.edri.router.last_events module

class edri.events.edri.router.last_events.LastEvents(router_id: uuid.UUID)[source]

Bases: Router

edri.events.edri.router.send_from module

class edri.events.edri.router.send_from.SendFrom(router_id: uuid.UUID, key: uuid.UUID | None = None)[source]

Bases: Router

key: UUID | None = None

edri.events.edri.router.subscribe module

class edri.events.edri.router.subscribe.Subscribe(event_type: Type[edri.dataclass.event.Event], name: str, pipe: multiprocessing.connection.Connection | None, request: bool, from_time: datetime.datetime | Literal[False] | NoneType = None)[source]

Bases: Router

from_time: datetime | Literal[False] | None = None

Governs Router cache replay on subscribe (see Router.run):

  • a datetime: replay only cached events of this type from that time on.

  • None (default): no preference given — replay everything cached, regardless of time (matches Cache.find's own from_time=None meaning).

  • False: replay nothing at all. Only used for a dynamic, well-after- startup Subscribe (see ManagerBase._track_worker_response) where the subscribed type may already have fully-resolved cached events that must NOT be redelivered as spurious "unknown" events.

edri.events.edri.router.subscribe_connector module

class edri.events.edri.router.subscribe_connector.SubscribeConnector(event: Type[edri.dataclass.event.Event], request: bool)[source]

Bases: Router

edri.events.edri.router.subscribed_external module

class edri.events.edri.router.subscribed_external.SubscribedExternal(pipe: multiprocessing.connection.Connection | None)[source]

Bases: Router

edri.events.edri.router.subscribed_new module

class edri.events.edri.router.subscribed_new.SubscribedNew(event: Type[edri.dataclass.event.Event], request: bool)[source]

Bases: Router

edri.events.edri.router.topology module

class edri.events.edri.router.topology.Topology[source]

Bases: Router

edri.events.edri.router.unsubscribe module

class edri.events.edri.router.unsubscribe.Unsubscribe(name: str, event_type: Type[edri.dataclass.event.Event], request: bool)[source]

Bases: Router

edri.events.edri.router.unsubscribe_all module

class edri.events.edri.router.unsubscribe_all.UnsubscribeAll(name: str)[source]

Bases: Router

Module contents