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§
- Arced
Connector - An Arced and type-erased
Connector - Arced
Quic Client Config - An arc-wrapped, type-erased QUIC client config (endpoint factory).
- Arced
Quic Endpoint - A type-erased QUIC endpoint, equivalent to
Arc<dyn QuicEndpoint>. Cheaply cloneable. - Bound
Info - Immutable snapshot of server state after initialization.
- Config
- Primary entrypoint for configuring and running a trillium server
- Droppable
Future - 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.
- Quic
Connection - A type-erased QUIC connection handle, equivalent to
Arc<dyn QuicConnectionTrait>. Cheaply cloneable. - Runtime
- A type-erased
RuntimeTraitimplementation. Think of this as anArc<dyn RuntimeTrait> - Server
Handle - A handle for a spawned trillium server. Returned by
Config::handleandConfig::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
- Async
Read - Read bytes asynchronously.
- Async
Write - Write bytes asynchronously.
- Connector
- Interface for runtime and tls adapters for the trillium client
- Quic
Client Config - Factory for creating client-side QUIC endpoints.
- Quic
Config - Configuration for a QUIC endpoint, provided by the user at server setup time.
- Quic
Connection Trait - Abstraction over a single QUIC connection.
- Quic
Endpoint - A bound QUIC endpoint that accepts and initiates connections.
- Quic
Transport Bidi - Abstraction over a QUIC bidirectional stream
- Quic
Transport Receive - Abstraction over the inbound half of a QUIC stream (both bidi and inbound uni)
- Quic
Transport Send - Abstraction over the outbound half of a QUIC stream (both bidi and outbound uni)
- Runtime
Trait - 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.