#![doc = include_str!("../README.md")]
pub mod any;
pub mod auth;
pub mod backend;
pub mod checks;
pub mod clock;
pub mod dns;
pub mod endpoint;
pub mod error;
pub mod http;
pub mod limit;
pub mod net;
pub mod outcome;
pub mod placement;
pub mod reconnect;
pub mod route;
mod stream;
pub mod tls;
pub mod ws;
pub mod ws_conn;
#[cfg(target_os = "linux")]
pub mod client;
#[cfg(all(target_os = "linux", feature = "curl"))]
mod curl_client;
#[cfg(target_os = "linux")]
mod driver;
#[cfg(target_os = "linux")]
pub mod sys;
#[cfg(target_os = "linux")]
mod warn;
#[cfg(target_os = "linux")]
pub mod warnings {
pub use crate::warn::flush;
#[doc(hidden)]
pub use crate::warn::{forget_seen, keep_lines, take_lines};
}
pub use any::{AnyConn, AnyDial};
pub use auth::{SignatureKind, Signer};
pub use backend::{Backend, Config};
#[cfg(target_os = "linux")]
pub use client::{ClientHandler, CurlDrive, HttpClient, HttpClientConfig, HttpImpl};
#[cfg(target_os = "linux")]
pub use driver::Driver;
pub use endpoint::{ConnId, ConnMut, Dial, DriverStats, Endpoint, Handler, Receive};
pub use error::{Error, Result};
pub use http::{HttpConn, HttpDial, HttpHandler, HttpOptions, HttpStats, Response};
pub use limit::{
BucketId, BucketSpec, BucketStats, Budget, Charge, Class, Limited, Resend, Ticket, Why,
};
pub use net::Target;
pub use outcome::{Now, Sent, Verdict};
pub use reconnect::{Reconnect, Retry};
pub use ws_conn::{WsConn, WsDial, WsHandler, WsOptions, WsStats};
#[derive(Debug, Clone, Copy, Default, PartialEq, Eq)]
pub struct RxMeta {
pub rx_sw_ns: i64,
pub rx_hw_ns: i64,
pub read_seq: u64,
}