unetmsg: notify subscribers when remote peer connection drops
When a remote peer's connection drops (device powered off, unetmsgd crash, network failure), network_rx_cleanup_state silently removed the remote publish/subscribe handles without notifying local subscribers. This meant local clients had no way to detect that a remote peer had disappeared. Call handle_publish for each channel where a remote publish handle is removed during connection cleanup, so local subscribers receive the publisher change notification and can react accordingly. Signed-off-by: John Crispin <john@phrozen.org>
This commit is contained in:
parent
e0722d0ac4
commit
7fd71f2c74
@ -51,8 +51,12 @@ function network_rx_cleanup_state(name)
|
||||
for (let cur, sub in core.remote_subscribe)
|
||||
delete sub[name];
|
||||
|
||||
for (let cur, sub in core.remote_publish)
|
||||
for (let cur, sub in core.remote_publish) {
|
||||
if (!sub[name])
|
||||
continue;
|
||||
delete sub[name];
|
||||
core.handle_publish(null, cur);
|
||||
}
|
||||
}
|
||||
|
||||
function network_rx_socket_close(data)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user