Skip to main content

Module push

Module push 

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

PendingPush
One resource the model asked to push alongside the current response.