From 29ca6bac4565d754a67414e503a215627d3aa566 Mon Sep 17 00:00:00 2001 From: Eddy Pedroni Date: Tue, 22 Jul 2025 22:55:24 +0200 Subject: Add router implementation, untested --- daemon/src/routing.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'daemon/src/routing.cpp') diff --git a/daemon/src/routing.cpp b/daemon/src/routing.cpp index 709d815..15ae555 100644 --- a/daemon/src/routing.cpp +++ b/daemon/src/routing.cpp @@ -1,14 +1,27 @@ #include "routing.h" +#include #include namespace midi_router { void -Router::route(Route_Map const & config) const +Router::route(Route_Map const & config) { + Message m; + if (m_queue.wait_dequeue_timed(m, std::chrono::milliseconds(500))) + { + if (!config.contains(*m.source_id) || !config.at(*m.source_id).contains(m.type())) + { + return; + } + for (auto const & target: config.at(*m.source_id).at(m.type())) + { + target(m.bytes); + } + } } void -- cgit v1.2.3