Expand description
AX Types
AX is a decentralized event database, streaming and processing engine that allows you to easily build local-first cooperative apps. It makes it easy to run distributed applications on multiple nodes. It is a piece of software that allows you to run your own apps on one or more edge devices and have these apps seamlessly communicate and share data with each other.
Note: AX has been created by the company Actyx AG and predates the unrelated Actix framework (although AX wasn’t open-sourced until Oct’23). While we have changed crate names to avoid confusion, the company name remains Actyx AG and appears in some places.
This crate defines the data types needed for communicating with Actyx. It should in most cases be used through the AX SDK.
Modules
- Types that you may want to use in describing the event payload data
Macros
- Macro for constructing an
AppId
literal. - Macro for constructing a
Tag
literal. - Macro for constructing a set of
Tag
values.
Structs
- The app ID denotes a specific app (sans versioning)
- Events are delivered in this envelope together with their metadata
- The sort key of an event
- A logical timestamp taken from a
Lamport clock
- Metadata attached to an event that can be used for filtering.
- The AX node identifier
- Event offset within a stream
- 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 associatedOffset
. - Event offset within a
SourceId
’s stream orMIN
value - A ref-counted slice of memory holding a compact binary representation of an event payload
- Compact binary storage of events created when they are received
- The unique identifier of a single event stream emitted by an AX node
- Stream number. Newtype alias for
u64
- A Tag that semantically characterises an event.
- A set of tags in canonical iteration order
- Microseconds since the UNIX epoch, without leap seconds and in UTC