A3S Docs
A3S Event

A3S Event

Provider-agnostic event publish, subscribe, history, routing, schema, and persistence primitives.

A3S Event

a3s-event is a provider-agnostic event bus for publish, subscribe, history, and persistence. Applications depend on EventBus and EventProvider traits, then choose an in-memory provider, NATS JetStream, or a custom backend.

The current crate is a3s-event 0.3.0.

Capability Map

AreaCurrent capability
ProvidersMemoryProvider for local/test use; NatsProvider for distributed JetStream-backed delivery.
Event APIPublish, subscribe, durable subscribe, history, counts, health, provider info, and subscription management.
Subject modelDot-separated subjects such as events.system.deploy.gateway; wildcard patterns such as events.market.>.
ReliabilityManual ack/nak support, dead-letter queue traits, and provider status reporting.
SchemaSchema registry with event-type validation and compatibility checks.
MetricsLock-free counters for publish, subscribe, errors, and latency.
SecurityOptional AES-256-GCM payload encryption with key IDs and rotation-aware decryption.
StateFileStateStore and MemoryStateStore persist subscription filters across process restarts.
Optional featuresCloudEvents v1.0 conversion, Knative-inspired routing with triggers and sinks, event sources, and cross-session messaging traits.

Start Here

  • Providers explains MemoryProvider, NatsProvider, subject naming, and custom provider contracts.
  • Schemas And Routing covers typed events, schema compatibility, CloudEvents, broker/trigger routing, sinks, and DLQ.
  • Payload Security covers encrypted payload envelopes, key rotation, and publish/list decrypt behavior.
  • State And Messaging covers subscription state stores, event sources, and cross-session messaging ports.
  • Operations documents feature flags, metrics, publish/subscribe options, and responsibility boundaries.

Feature Flags

The default build enables NATS, encryption, CloudEvents, and routing. The minimal build can compile with no optional backend dependencies:

a3s-event = { version = "0.3", default-features = false }

Boundary

A3S Event is not a workflow engine. It provides event transport, storage, and routing primitives; scheduling and orchestration belong to Lane, Code, Gateway, or the host application.

On this page