bobocep.cep.engine.receiver.receiver.BoboReceiver
- class bobocep.cep.engine.receiver.receiver.BoboReceiver(validator: bobocep.cep.engine.receiver.validator.BoboValidator, gen_event_id: bobocep.cep.gen.event_id.BoboGenEventID, gen_timestamp: bobocep.cep.gen.timestamp.BoboGenTimestamp, gen_event: Optional[bobocep.cep.gen.event.BoboGenEvent] = None, max_size: int = 0)[source]
Bases:
bobocep.cep.engine.task.BoboEngineTask,bobocep.cep.engine.receiver.pubsub.BoboReceiverPublisher,bobocep.cep.engine.producer.pubsub.BoboProducerSubscriber,bobocep.cep.engine.forwarder.pubsub.BoboForwarderSubscriberA receiver task.
- __init__(validator: bobocep.cep.engine.receiver.validator.BoboValidator, gen_event_id: bobocep.cep.gen.event_id.BoboGenEventID, gen_timestamp: bobocep.cep.gen.timestamp.BoboGenTimestamp, gen_event: Optional[bobocep.cep.gen.event.BoboGenEvent] = None, max_size: int = 0)[source]
- Parameters
validator – Incoming data validator.
gen_event_id – Event ID generator.
gen_timestamp – Timestamp generator.
gen_event – Event generator (optional).
max_size – Maximum queue size. Default: 0 (unbounded).
- add_data(data: Any) None[source]
- Parameters
data – Data to add to the receiver.
- Raises
BoboReceiverError – If receiver queue is full.
- on_forwarder_update(event: bobocep.cep.event.action.BoboEventAction) None[source]
- Parameters
event – Action event generated by Forwarder.
- on_producer_update(event: bobocep.cep.event.complex.BoboEventComplex, local: bool) None[source]
- Parameters
event – Complex event generated by Producer.
local – True if the complex event was generated using a locally-completed run; False otherwise.
- subscribe(subscriber: bobocep.cep.engine.receiver.pubsub.BoboReceiverSubscriber) None[source]
- Parameters
subscriber – Subscriber to Receiver data.
- update() bool[source]
Processes data from its queue, if any. Also processes a generated event if receiver is set to generate any. A BoboEventSimple instance is produced for data if they pass validation and are not already BoboEvent instances. Valid data are then sent to receiver subscribers.
- Returns
True if queue or generated data are processed; False otherwise.