Skip to main content

classify_control

Function classify_control 

Source
fn classify_control(kind: ActionKind) -> Support
Expand description

The control site, which is honoured on every draft.

The site is shown every message the session’s control plane carries, whichever shape that plane has. On drafts 07-16 the plane is the one client-initiated bidirectional stream. On 17-20 it is a pair of unidirectional streams — each peer opens one and begins it with SETUP — and bidirectional streams carry requests; session.rs identifies the pair by its stream type and pipes both it and the request streams through the control path, so SETUP reaches the hook there too.

Draft-16 is both at once and is the only draft that is: a bidirectional control stream, and SUBSCRIBE_NAMESPACE on a bidirectional stream of its own beside it. Its request streams take the same control path, so this column reads the same for it as for every other draft.

This column carried a Conditional for 17-19 while the engine believed the control plane was the first bidirectional stream on every draft. tests/control_plane_uni.rs is the end-to-end reading that replaced it, and tests/draft16_request_streams.rs is the one for the draft that needs both answers.