Skip to content

Flow Diagrams

How data moves through Ironflow — from event emission to execution, cancellation, and real-time notifications.

DiagramDescription
NATS Streams5 JetStream streams, KV buckets, DB vs NATS ownership
Emit FlowAsync trigger, and every consumer one event reaches
EmitSync FlowSynchronous trigger: subscribe to RESULTS, wait for every matched run
Event Ingest FlowExternal NATS → EventRouter → the same dispatch pipeline
PubSub FlowReal-time notifications via the PUBSUB stream
Entity Stream FlowAppend-only events, optimistic concurrency, two outbox rows
Cancel FlowRun cancellation: DB commit first, CANCEL stream second

Emit Flow and Entity Stream Flow share one fan-out diagram, because they differ only by what they add: emit() writes one outbox row, append() writes two plus a best-effort stream frame. Both also point at Request Lifecycle and Event Sourcing Flow for the paths those diagrams already draw in full.