Expand description
HTTP/2 server push — the one type the server actually uses.
push_resource (actions.rs) turns a model action into a JSON directive tagged
_push_directive; handle_h2_request (h2_server.rs) decodes each one into a
PendingPush and sends the PUSH_PROMISE + push stream inline, before the main
response, because h2 requires the promise on the parent stream’s SendResponse.
This module used to also carry a PushManager (queue + execute_pushes) and an
mpsc PushChannel/PushReceiver pair. Nothing ever drove them: handle_h2_request
constructed a PushManager, cloned it into a binding named _push_manager_clone,
and then did the pushing itself; create_push_channel had no callers at all. They
are removed rather than kept, because a queue that looks like the push path but is
never on it is exactly the trap the second, never-spawned Http2Server was (see
src/server/http2/CLAUDE.md).
Structs§
- Pending
Push - One resource the model asked to push alongside the current response.