pub(crate) fn register_stream_take(
ws: &Arc<Workspace>,
key: &SessionSlot,
axes: DictateAxes,
surface: Option<String>,
initiator: Option<u64>,
) -> Result<RegisteredTake, String>Expand description
Command::DictateStream: register a take the client will feed with
frames.
Registration is SYNCHRONOUS, and the dispatch arm performs it before the runner is spawned: the socket’s connection is one ordered stream, so the frame a client sends right after its start message must find the take already there. Nothing here opens a device, and that is what makes the synchronous registration possible.