Skip to main content

cortexkit_bus_trait/
lib.rs

1//! NATS-shaped primitives shared by the production and in-memory bus backends.
2//!
3//! The broker transports identifiers and content digests, never record bodies.
4//! The traits intentionally model the selected NATS primitives rather than a
5//! least-common-denominator queue API.
6
7mod census;
8mod conformance;
9mod error;
10mod message;
11mod register;
12mod stream;
13mod work_queue;
14
15pub use census::CensusWatchGuard;
16pub use conformance::{
17    classify_properties, run_conformance, BackendKind, ConformanceBackend, ConformanceReport,
18    PropertyApplicability, PropertyClassification, PropertyOutcome, PropertySet, PropertySpec,
19    SuiteBug, CONFORMANCE_PROPERTIES,
20};
21pub use error::{
22    attribute_sentinel_failure, map_connection_failure, map_credential_sign_failure,
23    AsyncPermissionViolation, BusError, BusResult, ConnectionFailure, CredentialSignFailure,
24    PermissionViolationSource,
25};
26pub use message::{ContentDigest, Headers, Message, MessageId};
27pub use register::{
28    Register, RegisterEntry, RegisterUpdate, RegisterValue, RegisterWatch, Revision, Tombstone,
29    WatchEvent,
30};
31pub use stream::{DurableOwner, PublishReceipt, Stream, StreamCursor, StreamDelivery};
32pub use work_queue::{
33    effect_dead_subject, terminally_dispose, terminally_dispose_cursor, ClaimOutcome,
34    DeadLetterRecord, DeliveryFamily, DeliveryToken, MaxDeliveriesExceeded, WorkItem, WorkQueue,
35    DEAD_LETTER_REASON_MAX_DELIVERIES,
36};