Skip to content

EngineMessage

Purpose

A message sent to a pub/sub topic by an engine.

Type

Reception:

EngineMessageV1

Record with fields:

Source engine identity

Destination identity

  • id: u64

Message ID: unique per src-dst pairs

  • reply_to: Option

id of a previous message this message is in reply to

  • expiry Option

Expiry time for outgoing messages. See P2PMessage & TransportMessage.

Routing preferences

Transport preferences

  • protocol: Protocol

Protocol & version used in body

  • body: Vec

Serialized message body

  • sig: Option

Signature over the above fields by src

Triggers:

Event

Behavior

When a local engine sends an EngineMessage destined to a pub/sub topic, the Router forwards it to all local engines subscribed to the message, including PubSub.

PubSub then encapsulates the message in an Event, and forwards it to its neighbors along the event dissemination path.

Message flow

sequenceDiagram

%% --8<-- [start:sequence]
Any Local Engine -) Router: EngineMessage
Router -) PubSub: EngineMessage
PubSub -) PubSub: Event
%% --8<-- [end:sequence]