From f5a5a6dd3cc2901fae374df999326f44c6026e2a Mon Sep 17 00:00:00 2001 From: "Aaron D. Lee" Date: Thu, 2 Jul 2026 23:41:34 -0400 Subject: [PATCH] =?UTF-8?q?chore(media):=20add=20tokio=20dep=20for=20Task?= =?UTF-8?q?=202=20Reflex

=20consumer=20(slice-4=20=C2=A73.2)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reflex

owns a tokio::sync::mpsc::Receiver (the advisory channel the TapEngine feeds from its tokio task), so tokio must be a runtime dep of rutster-media at lib-compile time, not dev-only. The crate itself makes no tokio runtime calls — the dedicated media thread drives Reflex, not an executor (ARCHITECTURE.md; slice-1 spec §3.4). Signed-off-by: Aaron D. Lee --- Cargo.lock | 1 + crates/rutster-media/Cargo.toml | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/Cargo.lock b/Cargo.lock index 3de8004..8e504bf 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1239,6 +1239,7 @@ dependencies = [ "rutster-call-model", "str0m", "thiserror 1.0.69", + "tokio", "tracing", ] diff --git a/crates/rutster-media/Cargo.toml b/crates/rutster-media/Cargo.toml index fd096bd..950ed1e 100644 --- a/crates/rutster-media/Cargo.toml +++ b/crates/rutster-media/Cargo.toml @@ -13,5 +13,13 @@ opus = { workspace = true } str0m = { workspace = true } thiserror = { workspace = true } tracing = { workspace = true } +# tokio: required at lib-compile time because `Reflex

` owns a +# `tokio::sync::mpsc::Receiver` (the advisory channel the +# TapEngine feeds from its tokio task). rutster-media proper makes NO +# tokio runtime calls — the dedicated media thread drives `Reflex`, not a +# tokio executor (ARCHITECTURE.md "dedicated timing threads, not the +# shared tokio pool" — see slice-1 spec §3.4). The `full` features here +# also cover `#[tokio::test]` + `#[tokio::main]` in the binary/tests. +tokio = { workspace = true } [dev-dependencies]