Skip to main content

trillium_server_common/
lib.rs

1#![forbid(unsafe_code)]
2#![deny(
3    clippy::dbg_macro,
4    missing_copy_implementations,
5    rustdoc::missing_crate_level_docs,
6    missing_debug_implementations,
7    missing_docs,
8    nonstandard_style,
9    unused_qualifications
10)]
11
12//! # Utilities and traits for building trillium runtime adapters
13//!
14//! Trillium applications should never need to depend directly on this
15//! library. Server adapters should reexport any types from this crate
16//! that an application author would need to use.
17//!
18//! The parts of this crate that are not application facing should be
19//! expected to change more frequently than the parts that are application
20//! facing.
21//!
22//! If you are depending on this crate for private code that cannot be
23//! discovered through docs.rs' reverse dependencies, please open an
24//! issue.
25
26#[cfg(test)]
27#[doc = include_str!("../README.md")]
28mod readme {}
29
30pub use futures_lite::{AsyncRead, AsyncWrite, Stream};
31pub use trillium::{Info, Transport};
32pub use url::{self, Url};
33
34mod config;
35pub use config::Config;
36
37mod server;
38pub use server::Server;
39
40mod binding;
41pub use binding::Binding;
42
43mod client;
44pub use client::{ArcedConnector, ArcedQuicClientConfig, Connector, QuicClientConfig};
45
46mod acceptor;
47pub use acceptor::Acceptor;
48
49mod server_handle;
50pub use server_handle::{BoundInfo, ServerHandle};
51
52mod arc_handler;
53pub(crate) use arc_handler::ArcHandler;
54pub use swansong::Swansong;
55
56mod runtime;
57pub use runtime::{DroppableFuture, Runtime, RuntimeTrait};
58
59mod quic;
60pub use quic::{
61    ArcedQuicEndpoint, QuicConfig, QuicConnection, QuicConnectionTrait, QuicEndpoint,
62    QuicTransportBidi, QuicTransportReceive, QuicTransportSend,
63};
64
65mod udp_transport;
66pub use udp_transport::UdpTransport;
67
68mod running_config;
69
70pub mod h3;