#![warn(rustc::all)]
#![warn(clippy::pedantic)]
#![allow(
clippy::manual_let_else,
clippy::option_if_let_else,
clippy::or_fun_call,
clippy::redundant_else,
clippy::similar_names,
clippy::single_match_else,
reason = "workspace policy; generated by scripts/update-clippy-allowances.py"
)]
#![warn(clippy::clone_on_ref_ptr)]
#![deny(unsafe_code)]
#![deny(unsafe_op_in_unsafe_fn)]
#![deny(nonstandard_style)]
#![deny(missing_debug_implementations)]
#![deny(clippy::missing_errors_doc)]
#![deny(clippy::missing_panics_doc)]
#![deny(rustdoc::broken_intra_doc_links)]
#![allow(
clippy::inline_always,
reason = "hot-path functions use #[inline(always)] intentionally for constant-folding"
)]
#![allow(
clippy::cast_possible_truncation,
clippy::cast_precision_loss,
clippy::cast_sign_loss,
reason = "rate limiter and backoff arithmetic requires intentional narrowing casts"
)]
#![allow(
clippy::too_many_lines,
reason = "network client functions with connection management are complex by nature"
)]
#![allow(
clippy::assert_is_empty,
reason = "`assert!(x.is_empty())` is clearer than comparing against an empty value"
)]
#![allow(clippy::clone_on_copy)]
#[cfg(all(feature = "simulation", madsim, feature = "turmoil"))]
compile_error!("madsim simulation and turmoil must run in separate builds");
pub mod backoff;
pub mod dst;
pub mod error;
pub mod http;
pub mod mode;
pub mod net;
pub mod ratelimiter;
pub mod retry;
pub mod socket;
pub mod transport;
pub mod websocket;
mod heartbeat;
mod logging;
mod sink;
mod tls;
mod writer;
#[cfg(feature = "python")]
pub mod python;
pub use logging::{ConnectionUrl, url_origin};
pub use sink::{SocketState, SocketStateSink};
pub use transport::{Message, TransportError};
pub use writer::WriterSender;
pub const RECONNECTED: &str = "__RECONNECTED__";