1#![forbid(unsafe_code)]
2pub const VERSION: &str = env!("CARGO_PKG_VERSION");
13
14#[cfg(any(feature = "tls", feature = "udp", feature = "quic"))]
15pub(crate) mod async_carrier;
16#[cfg(feature = "tls")]
17pub mod connection;
18#[cfg(feature = "quic")]
19pub mod quic;
20#[cfg(any(feature = "tcp", feature = "quic"))]
21pub mod stream_ref;
22#[cfg(feature = "tls")]
23pub mod tls;
24#[cfg(feature = "udp")]
25pub mod udp;
26
27#[cfg(feature = "tls")]
28pub use connection::{Connection, ConnectionLifecycleExt, ConnectionSettings, RetryPolicy};
29#[cfg(feature = "quic")]
30pub use quic::{
31 DEFAULT_CHUNK_SIZE as QUIC_DEFAULT_CHUNK_SIZE, Quic, QuicBidirectionalStream, QuicBinding,
32 QuicByteSink, QuicByteSource, QuicCarrierDiagnosticCounts, QuicCarrierDiagnostics,
33 QuicConnection, QuicIncomingConnection, QuicStream, TokioQuic,
34};
35#[cfg(any(feature = "tcp", feature = "quic"))]
36pub use stream_ref::{StreamRefProtocolDiagnostics, StreamRefProtocolMessageCounts};
37#[cfg(feature = "quic")]
38pub use stream_ref::{
39 StreamRefQuicHandle, serve_sink_ref_over_quic, serve_source_over_quic,
40 serve_source_ref_over_quic, sink_ref_over_quic, source_ref_over_quic,
41};
42#[cfg(feature = "tcp")]
43pub use stream_ref::{
44 StreamRefTcpBinding, StreamRefTcpHandle, serve_sink_ref_over_tcp,
45 serve_sink_ref_over_tcp_stream, serve_sink_ref_over_tcp_stream_with_diagnostics,
46 serve_sink_ref_over_tcp_with_diagnostics, serve_source_ref_over_tcp,
47 serve_source_ref_over_tcp_stream, serve_source_ref_over_tcp_stream_with_diagnostics,
48 serve_source_ref_over_tcp_with_diagnostics, sink_ref_over_tcp, sink_ref_over_tcp_stream,
49 sink_ref_over_tcp_stream_with_diagnostics, sink_ref_over_tcp_with_diagnostics,
50 source_ref_over_tcp, source_ref_over_tcp_stream, source_ref_over_tcp_stream_with_diagnostics,
51 source_ref_over_tcp_with_diagnostics,
52};
53#[cfg(feature = "tls")]
54pub use tls::{
55 Tls, TlsBinding, TlsByteSink, TlsByteSource, TlsCarrierDiagnosticCounts, TlsCarrierDiagnostics,
56 TlsConnection, TlsIncomingConnection, TokioTls,
57};
58#[cfg(feature = "udp")]
59pub use udp::{
60 DEFAULT_MAX_DATAGRAM_SIZE, DEFAULT_RECEIVE_BUFFER, Datagram, TokioUdp, Udp, UdpBinding,
61 UdpConnection,
62};
63
64#[doc(hidden)]
65#[cfg(any(feature = "tls", feature = "udp", feature = "quic"))]
66pub use async_carrier::{
67 ShardedTokioTestConfig, sharded_tokio_carrier_connection_count, with_sharded_tokio_test_config,
68};