d8e9397cf6
Create explicit context types for frontend registration and runtime: FrontendRegistrationContext: - register_frontend(name, spawner) - register a frontend - is_frontend_registered(name) - check if registered - registered_frontends() -> Vec<String> - list all frontends - spawn_frontend(name, ...) -> DynResult - spawn a frontend FrontendRuntimeContext (NEW): - audio_rx: broadcast channel for audio RX - audio_tx: mpsc channel for audio TX - audio_info: watch channel for audio stream metadata - decode_rx: broadcast channel for decoded messages - aprs_history: Arc<Mutex<VecDeque>> for APRS decode history - cw_history: Arc<Mutex<VecDeque>> for CW decode history - ft8_history: Arc<Mutex<VecDeque>> for FT8 decode history - auth_tokens: HashSet for authentication Replaces global mutable state with explicit context that can be threaded through bootstrap. Maintains global API for compatibility. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com> Signed-off-by: Stanislaw Grams <stanislawgrams@gmail.com>
14 lines
301 B
TOML
14 lines
301 B
TOML
# SPDX-FileCopyrightText: 2025 Stanislaw Grams <stanislawgrams@gmail.com>
|
|
#
|
|
# SPDX-License-Identifier: BSD-2-Clause
|
|
|
|
[package]
|
|
name = "trx-frontend"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
|
|
[dependencies]
|
|
bytes = "1"
|
|
trx-core = { path = "../../trx-core" }
|
|
tokio = { workspace = true, features = ["sync"] }
|