Skip to main content

Crate trillium_server_common

Crate trillium_server_common 

Source
Expand description

§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.

Re-exports§

pub use url;

Modules§

h3
HTTP/3 specific exports

Structs§

ArcedConnector
An Arced and type-erased Connector
ArcedQuicClientConfig
An arc-wrapped, type-erased QUIC client config (endpoint factory).
ArcedQuicEndpoint
A type-erased QUIC endpoint, equivalent to Arc<dyn QuicEndpoint>. Cheaply cloneable.
BoundInfo
Immutable snapshot of server state after initialization.
Config
Primary entrypoint for configuring and running a trillium server
DroppableFuture
A wrapper type for futures that do not need to be polled but still can be awaited.
Info
This struct represents information about the currently connected server.
QuicConnection
A type-erased QUIC connection handle, equivalent to Arc<dyn QuicConnectionTrait>. Cheaply cloneable.
Runtime
A type-erased RuntimeTrait implementation. Think of this as an Arc<dyn RuntimeTrait>
ServerHandle
A handle for a spawned trillium server. Returned by Config::handle and Config::spawn
Swansong
🦢 Shutdown manager
Url
A parsed URL record.

Enums§

Binding
A wrapper enum that has blanket implementations for common traits like TryFrom, Stream, AsyncRead, and AsyncWrite. This can contain listeners (like TcpListener), Streams (like Incoming), or bytestreams (like TcpStream).

Traits§

Acceptor
This trait provides the common interface for server-side tls acceptors, abstracting over various implementations
AsyncRead
Read bytes asynchronously.
AsyncWrite
Write bytes asynchronously.
Connector
Interface for runtime and tls adapters for the trillium client
QuicClientConfig
Factory for creating client-side QUIC endpoints.
QuicConfig
Configuration for a QUIC endpoint, provided by the user at server setup time.
QuicConnectionTrait
Abstraction over a single QUIC connection.
QuicEndpoint
A bound QUIC endpoint that accepts and initiates connections.
QuicTransportBidi
Abstraction over a QUIC bidirectional stream
QuicTransportReceive
Abstraction over the inbound half of a QUIC stream (both bidi and inbound uni)
QuicTransportSend
Abstraction over the outbound half of a QUIC stream (both bidi and outbound uni)
RuntimeTrait
A trait that covers async runtime behavior.
Server
The server trait, for standard network-based server implementations.
Stream
A stream of values produced asynchronously.
Transport
The interface that the http protocol is communicated over.
UdpTransport
Async UDP socket abstraction for QUIC transport.