Skip to content

EngineMessage

Purpose

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

Type

Reception:

EngineMessageV1

Record with fields:

  • id: u64

    Message ID: unique per src-dst pairs

  • reply_to: Option

    id of a previous message this message is in reply to

  • protocol: Protocol

    Protocol & version used in body

  • body: Vec

    Serialized message body

  • sig: Option

    Signature over the above fields by src

Triggers:

Event

Behaviour

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]