mod config;
mod cursor;
mod entity_cursor;
mod entity_stream;
mod envelope;
mod error;
mod event_stream;
mod operation_status_stream;
mod projection_stream;
mod projector;
mod receipt_stream;
mod registry;
mod session;
pub use config::SubscriptionRuntimeConfig;
pub use cursor::{
EntityStreamCursorV1, EventStreamCursorV1, OperationStatusPositionKind,
OperationStatusStreamCursorV1, PositionKind, ProjectionPositionKind, ProjectionStreamCursorV1,
ReceiptStreamCursorV1, CURSOR_V1_LEN, ENTITY_STREAM_CURSOR_V1_LEN,
OPERATION_STATUS_CURSOR_V1_LEN, PROJECTION_CURSOR_V1_LEN, RECEIPT_STREAM_CURSOR_V1_LEN,
SOURCE_KIND_ENTITY_STREAM, SOURCE_KIND_EVENT_CATEGORY, SOURCE_KIND_OPERATION_STATUS,
SOURCE_KIND_PROJECTION, SOURCE_KIND_RECEIPT_STREAM,
};
pub use entity_stream::EntityStreamSession;
pub use envelope::{
EntityStreamEnvelopeV1, EventStreamEnvelopeV1, OperationStatusStreamEnvelopeV1,
ProjectionStreamEnvelopeV1, ReceiptStreamEnvelopeV1,
};
pub use error::SubscriptionRuntimeError;
pub use event_stream::{EventStreamSession, EventSubscriptionRuntime};
pub use operation_status_stream::OperationStatusStreamSession;
pub use projection_stream::{
CompositeSubscriptionRuntime, ProjectionStreamSession, TypedProjectionProjector,
};
pub use projector::{ProjectionProjector, ProjectionRouteBinding};
pub use receipt_stream::ReceiptStreamSession;
pub use registry::{
EntityStreamRouteBinding, OperationStatusRouteBinding, ReceiptStreamRouteBinding,
SubscriptionId, SubscriptionRegistry, SubscriptionRoute, MAX_SUBSCRIPTION_ID_BYTES,
};
pub use session::{
cursor_invalid_error, cursor_mismatch_error, unknown_subscription_error, RuntimeCursor,
SessionControl, SessionDelivery, SessionEnd, SessionError, SessionEventDelivery, SessionPoll,
SessionWatermarkDelivery, SubscriptionSession, SubscriptionSessionFactory, SubscriptionStore,
};
#[cfg(test)]
#[path = "event_stream_tests.rs"]
mod event_stream_tests;
#[cfg(test)]
#[path = "projection_stream_tests.rs"]
mod projection_stream_tests;
#[cfg(test)]
#[path = "operation_status_stream_tests.rs"]
mod operation_status_stream_tests;
#[cfg(test)]
#[path = "receipt_stream_tests.rs"]
mod receipt_stream_tests;
#[cfg(test)]
#[path = "entity_stream_tests.rs"]
mod entity_stream_tests;