1#![doc = include_str!("../README.md")]
2
3mod transports;
4
5mod error;
6
7mod endpoint;
8
9mod buffer;
10
11pub mod codec;
12
13mod layer;
14pub mod layers;
15
16mod message;
17mod stream;
18mod stream_mux;
19
20#[cfg(feature = "framing")]
22mod framed;
23
24#[cfg(feature = "framing")]
25pub use framed::{framed, FramedConn, FramedReader, FramedWriter};
26
27pub use buffer::{Buffer, ByteBuffer, Bytes};
29
30pub use stream::ByteStream;
32
33pub use message::{MessageRx, MessageTx};
35
36#[cfg(feature = "ws")]
37pub use layers::ws::{WsConn, WsLayer, WsReader, WsWriter};
38
39pub use layer::{ClientLayer, ServerLayer};
41
42pub use stream_mux::StreamMux;
44
45pub use endpoint::{Addr, Endpoint, Port, ToEndpoint};
47
48pub use error::{Error, Result};
50
51#[cfg(feature = "tcp")]
53pub use transports::tcp;
54
55#[cfg(feature = "udp")]
56pub use transports::udp;
57
58#[cfg(all(feature = "unix", target_family = "unix"))]
59pub use transports::unix;
60
61#[cfg(feature = "quic")]
62pub use transports::quic;
63
64#[cfg(feature = "proxy")]
66pub use layers::proxy;
67
68#[cfg(feature = "tls")]
69pub use layers::tls;
70
71#[cfg(any(feature = "tls", feature = "quic"))]
73pub use karyon_async_rustls as async_rustls;