From 8600bb625ab97ad33d53e6ce56ba00abf0e33eba Mon Sep 17 00:00:00 2001 From: angt Date: Thu, 4 Feb 2016 08:37:17 +0100 Subject: [PATCH] Send all packets in all paths --- mud.c | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/mud.c b/mud.c index f22c7fe..f129f7b 100644 --- a/mud.c +++ b/mud.c @@ -515,21 +515,24 @@ int mud_push (struct mud *mud) mud->tx.start++; - struct path *path = mud->path; - ssize_t ret = mud_send_path(path, packet->data, packet->size); + struct path *path; - if (ret <= 0) - continue; + for (path = mud->path; path; path = path->next) { + ssize_t ret = mud_send_path(path, packet->data, packet->size); - if (ret != packet->size) - continue; + if (ret <= 0) + continue; - if (path->send.count == 256) { - path->send.count = 0; - path->send.dt = (now-path->send.time)>>8; - path->send.time = now; - } else { - path->send.count++; + if (ret != packet->size) + continue; + + if (path->send.count == 256) { + path->send.count = 0; + path->send.dt = (now-path->send.time)>>8; + path->send.time = now; + } else { + path->send.count++; + } } }