@@ -96,6 +96,7 @@ local function make_persistent_task_impl(
9696
9797 for _ , receiver in ipairs (recv_ready ) do
9898 if receiver == interval_timer then
99+ interval_timer :handled ()
99100 ssdp_search_handle :multicast_m_search ()
100101 elseif receiver == control_rx then
101102 --- @type ControlMessage ?, string ?
@@ -298,16 +299,19 @@ function sonos_ssdp.spawn_persistent_ssdp_task()
298299 event_bus :send (info_to_send )
299300 local mac_addr = utils .extract_mac_addr (info_to_send .discovery_info .device )
300301 local waiting_handles = task_handle .waiting_for_unique_key [unique_key ] or {}
302+
301303 log .debug (st_utils .stringify_table (waiting_handles , " waiting for unique keys" , true ))
302- for _ , v in pairs (task_handle .waiting_for_unique_key [mac_addr ] or {}) do
304+ for _ , v in pairs (task_handle .waiting_for_mac_addr [mac_addr ] or {}) do
303305 table.insert (waiting_handles , v )
304306 end
307+
305308 log .debug (
306309 st_utils .stringify_table (waiting_handles , " waiting for unique keys and mac addresses" , true )
307310 )
308311 for _ , reply_tx in ipairs (waiting_handles ) do
309312 reply_tx :send (info_to_send )
310313 end
314+
311315 task_handle .waiting_for_unique_key [unique_key ] = {}
312316 task_handle .waiting_for_mac_addr [mac_addr ] = {}
313317 end
0 commit comments