[][src]Module actyxos_sdk::event

Definition of the event envelope structure provided by ActyxOS

When publishing events you provide only the payload with the Semantics & FishName meta-data. The Event Service will add administrative information on where the event came from and when it was published.

Querying events delivers the full set of information within the Event data structure.

Payload definition

You are free to define your own payload data types as you see fit, provided that they come with serialization and deserialization instances for serde (and Abomonation if you want to feed the payload into differential-dataflow).

As JSON only supports f64 floating point numbers, you may want to look into FixNum or decorum for deserializing to a type that supports equality and total ordering.

Structs

Event

Events are delivered in this envelope together with their metadata

FishName

The name identifies a particular instance of a Fish, i.e. one of a given kind as identified by its semantics.

LamportTimestamp

A logical timestamp taken from a Lamport clock

Offset

Each ActyxOS node marks the events it publishes with its source ID and assigns a unique (consecutive) number to it: the Offset. The first event occupies offset zero.

OffsetMap

Multi-dimensional cursor for event streams: an OffsetMap describes the set of events given by the event streams of each included source up to the associated Offset.

Opaque

A ref-counted slice of memory holding a compact binary representation of an event payload

Payload

Compact binary storage of events created when they are received from the Event Service

Semantics

The semantics denotes a certain kind of fish and usually implies a certain type of payloads.

SourceId

A source ID uniquely identifies one ActyxOS node

StreamInfo

Hold provenance information for this event

Tag

Arbitrary metadata-string for an Event. Website documentation pending.

TimeStamp

Microseconds since the UNIX epoch, without leap seconds and in UTC

Enums

ParseError