Expand description
Transparent proxy orchestrator β accept loop and session management.
The proxy binds a single listener that accepts raw-QUIC MoQT and
WebTransport clients simultaneously, negotiated via ALPN. Each
accepted connection is handed to a ProxySession that forwards
traffic to the configured upstream relay.
Re-exportsΒ§
use std::collections::HashMap;πuse std::net::SocketAddr;πuse std::sync::atomic::AtomicU64;πuse std::sync::atomic::Ordering;πuse std::sync::Arc;πuse std::time::Duration;πuse tokio_util::sync::CancellationToken;πuse crate::control::ControlPlane;πuse crate::control::LegSetup;πuse crate::control::ProxyControl;πuse crate::error::ProxyError;πuse crate::event::ProxyEvent;πuse crate::event::SessionId;πuse crate::hook::NoOpHook;πuse crate::hook::ProxyHook;πuse crate::listener::ClientRequest;πuse crate::listener::Handshake;πuse crate::listener::Listener;πuse crate::listener::ListenerConfig;πuse crate::listener::Rejection;πuse crate::observer::ProxyObserver;πuse crate::session::ProxySession;πuse crate::session::ProxySessionConfig;πuse crate::session::UpstreamTransportType;π
StructsΒ§
- Proxy
Config - Configuration for the transparent proxy.
- Route
Request - One client, as a
Routersees it. - Spawner π
- What one clientβs task needs from its proxy.
- Transparent
Proxy - A transparent MoQT proxy that accepts client connections and forwards traffic to an upstream relay.
EnumsΒ§
- Route
Client - What a client asked for.
ConstantsΒ§
- HANDSHAKE_
TIMEOUT - How long a client may take from its first packet to a finished handshake (for WebTransport, to its session request).
TraitsΒ§
- Router
- Decides, for each client, where its session goes and how it runs.
FunctionsΒ§
- rejection_
reason π - The close reason a refused raw-QUIC client is given.