Crate ax_types

source ·
Expand description

Latest Version Rust Documentation

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 associated Offset.
  • Event offset within a SourceId’s stream or MIN 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

Enums