trillium-server-common 0.7.4

server utilities for trillium.rs
Documentation
#![forbid(unsafe_code)]
#![deny(
    clippy::dbg_macro,
    missing_copy_implementations,
    rustdoc::missing_crate_level_docs,
    missing_debug_implementations,
    missing_docs,
    nonstandard_style,
    unused_qualifications
)]

//! # Utilities and traits for building trillium runtime adapters
//!
//! Trillium applications should never need to depend directly on this
//! library. Server adapters should reexport any types from this crate
//! that an application author would need to use.
//!
//! The parts of this crate that are not application facing should be
//! expected to change more frequently than the parts that are application
//! facing.
//!
//! If you are depending on this crate for private code that cannot be
//! discovered through docs.rs' reverse dependencies, please open an
//! issue.

#[cfg(test)]
#[doc = include_str!("../README.md")]
mod readme {}

pub use futures_lite::{AsyncRead, AsyncWrite, Stream};
pub use trillium::{Info, Transport};
pub use url::{self, Url};

mod config;
pub use config::Config;

mod server;
pub use server::Server;

mod binding;
pub use binding::Binding;

mod client;
pub use client::{ArcedConnector, ArcedQuicClientConfig, Connector, QuicClientConfig};

mod acceptor;
pub use acceptor::Acceptor;

mod boxed_acceptor;
#[doc(hidden)]
pub use boxed_acceptor::{BoxedAcceptError, BoxedAcceptor};

mod boxed_quic;
#[doc(hidden)]
pub use boxed_quic::BoxedQuicConfig;

mod server_handle;
pub use server_handle::{BoundInfo, ServerHandle};

mod arc_handler;
pub(crate) use arc_handler::ArcHandler;
pub use swansong::Swansong;

mod listener_config;
pub use listener_config::{IntoListenAddr, ListenerConfig};

#[cfg(reuseport)]
mod reuse_port;
#[cfg(reuseport)]
pub use reuse_port::bind_reuse_port;

mod runtime;
#[doc(hidden)]
pub use runtime::FanOut;
pub use runtime::{DroppableFuture, Runtime, RuntimeTrait};

mod quic;
pub use quic::{
    ArcedQuicEndpoint, BoxedBidiStream, BoxedRecvStream, BoxedSendStream, QuicConfig,
    QuicConnection, QuicConnectionTrait, QuicEndpoint, QuicTransportBidi, QuicTransportReceive,
    QuicTransportSend,
};

mod udp_transport;
pub use udp_transport::UdpTransport;

mod running_config;

pub(crate) mod h2;
pub mod h3;