1#![forbid(unsafe_code)]
7#![warn(missing_docs)]
8#![allow(clippy::doc_markdown)]
9#![allow(clippy::missing_errors_doc)]
10#![allow(clippy::result_large_err)]
13
14pub(crate) mod codec;
15pub(crate) mod config;
16pub(crate) mod error;
17pub(crate) mod handler;
18pub(crate) mod interceptor;
19pub(crate) mod types;
20
21pub(crate) mod publish_sink;
22pub(crate) mod publisher;
23pub(crate) mod schema_cache;
24pub(crate) mod subscriber;
25
26pub use config::{BackoffConfig, PubSubConfig, ReconnectPolicy, ReplayPreset};
27pub use error::{PubSubError, Result};
28pub use handler::{PubSubHandler, SchemaInfo, TopicInfo};
29pub use publish_sink::PublishSink;
30pub use schema_cache::SchemaCache;
31pub use types::{EventMessage, PubSubEvent, PublishResponse, PublishResult, ReplayId};
32
33pub mod proto {
35 pub mod eventbus_v1 {
37 #![allow(missing_docs)]
39 #![allow(clippy::derive_partial_eq_without_eq)]
40 #![allow(clippy::must_use_candidate)]
41 #![allow(clippy::missing_const_for_fn)]
42 #![allow(clippy::default_trait_access)]
43 #![allow(clippy::too_many_lines)]
44 tonic::include_proto!("eventbus.v1");
45 }
46}
47pub use codec::decode_avro_typed;
48pub use codec::encode_avro;