Skip to content

Latest commit

 

History

History
13 lines (11 loc) · 1.47 KB

File metadata and controls

13 lines (11 loc) · 1.47 KB

The @streamerson stream-message protocol is a fixed set of named fields written to each Redis stream entry (via XADD). The Redis client returns them as a field→value map, so there is no positional decoding.

Field Type Meaning
messageId string (GUUID) id of the message; correlates a response with its request
messageType string the event type — routed to a registered handler
incomingStream string the stream to reply on (response destination), or empty
messageHeaders JSON string or nil optional header map for routing
messageProtocol json (or text) payload encoding
messageSourceId string id of the source/origin
payload JSON or text the message payload, encoded per messageProtocol

Historical note: earlier versions packed these positionally into the Redis key/value slots to halve the field count. The current implementation writes explicit named fields — simpler, and what the Redis client returns directly — so the positional scheme is no longer used.