Expand description
Decide what happens to frames, objects, datagrams and streams.
ProxyHook is the decision surface: every method is synchronous,
defaulted, and returns data describing what the engine should do β
never a future, never a mutation performed in place. Timing is
expressed as Action::Delay / Action::Hold and executed by the
egress engine, where it is precise, attributable and bounded, so a hook
can never stall a read loop.
Interest is the other half. It is sampled once, at session
start, and decides which of the six methods are armed at all;
Interest::NONE keeps all three forwarding paths on the zero-parse
byte pump. The normative gating expression is mirrored in each methodβs
rustdoc below.
LegacyProxyHook and LegacyHook carry the 0.3.x
Option<Vec<u8>> shape forward so existing implementations keep
working while they migrate.
Re-exportsΒ§
use std::sync::Arc;πuse std::time::Instant;πuse bytes::Bytes;πuse moqtap_codec::dispatch::AnyControlMessage;πuse moqtap_codec::dispatch::AnyDatagramHeader;πuse moqtap_codec::version::DraftVersion;πuse crate::action::Action;πuse crate::action::Interest;πuse crate::action::StreamAction;πuse crate::action::StreamEnd;πuse crate::capability::Capabilities;πuse crate::event::DataStreamHeaderKind;πuse crate::event::SessionId;πuse crate::shape::StreamKey;πuse crate::types::ObjectMeta;πuse crate::types::ProxySide;π
StructsΒ§
- Frame
Ctx - Context for a control message or datagram decision.
- Legacy
Hook - Adapts a
LegacyProxyHooktoProxyHook, preserving 0.3.x semantics exactly. - NoOp
Hook - A no-op hook that passes all frames through unchanged.
- Object
Ctx - Context for an object decision.
- Stream
Ctx - Context for a stream open, stream header, or stream end decision.
TraitsΒ§
- Legacy
Proxy Hook Deprecated - The 0.3.x hook shape, kept so existing implementations still compile.
- Proxy
Hook - Decide what happens to frames, objects, datagrams and streams.