1#![cfg_attr(feature = "fail-on-warnings", deny(warnings))]
2#![cfg_attr(feature = "fail-on-warnings", deny(clippy::all))]
3#![forbid(unsafe_code)]
4
5pub mod prelude {
6 pub use es_entity;
7 pub use serde;
8 pub use serde_json;
9 pub use sqlx;
10}
11
12mod config;
13mod handle;
14pub mod inbox;
15pub mod out;
16mod sequence;
17mod tables;
18
19#[cfg(feature = "test-utils")]
20pub mod test_utils;
21
22pub use config::{
23 DEFAULT_BACKFILL_PAGE_SIZE, DEFAULT_GAP_FILL_GRACE, DEFAULT_IDLE_RESYNC_INTERVAL,
24 DEFAULT_NOTIFY_DEBOUNCE, DEFAULT_PARTITION_MAINTAINER_INTERVAL, DEFAULT_PARTITION_PREMAKE,
25 DEFAULT_PARTITION_WIDTH, DEFAULT_PERSIST_EVENTS_BATCH_SIZE, MailboxConfig,
26};
27pub use inbox::{
28 Inbox, InboxConfig, InboxError, InboxEvent, InboxEventId, InboxEventStatus, InboxHandler,
29 InboxIdempotencyKey, InboxResult,
30};
31pub use obix_macros::{MailboxTables, OutboxEvent};
32pub use out::{
33 BatchOp, CursorError, DecodeFailure, EventCtx, EventSubscription, FlushError, FlushOp, Handled,
34 HandlerCheckpointError, HandlerSnapshot, HandlerStreamStatus, IsolatedOp, OpCursor, Outbox,
35 OutboxEventHandler, OutboxEventJobConfig, PartitionMaintainerConfig, Partitions,
36 PostPersistHook, RegisteredEventHandler, UndecodableEventError,
37};
38pub use sequence::EventSequence;
39pub use tables::MailboxTables;
40#[doc(hidden)]
41pub use tables::{
42 decode_persistent_event, record_ephemeral_event_type_undecodable,
43 record_ephemeral_payload_undecodable, record_tracing_context_undecodable,
44};