From d404fb81477156609fdb05c2f9f471e4d58aa59d Mon Sep 17 00:00:00 2001 From: Johannes Kimmel Date: Wed, 23 Aug 2023 23:15:57 +0200 Subject: [PATCH] retry sending remaining message instead of exiting --- main.go | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/main.go b/main.go index 5404857..f03de5e 100644 --- a/main.go +++ b/main.go @@ -75,12 +75,13 @@ func (vx *vx46) forward46() error { if err != nil { return err } - outn, err := vx.pc6.WriteBatch(msgs6[:n], 0) - if err != nil { - return err - } - if outn != n { - return fmt.Errorf("Dropped messages. Sent %d of %d.", outn, n) + queue := msgs6[:n] + for len(queue) > 0 { + outn, err := vx.pc6.WriteBatch(queue, 0) + if err != nil { + return err + } + queue = queue[outn:] } } } @@ -134,12 +135,13 @@ func (vx *vx46) forward64() error { if err != nil { return err } - outn, err := vx.pc4.WriteBatch(msgs4[:n], 0) - if err != nil { - return err - } - if outn != n { - return fmt.Errorf("Dropped messages. Sent %d of %d.", outn, n) + queue := msgs4[:n] + for len(queue) > 0 { + outn, err := vx.pc4.WriteBatch(queue, 0) + if err != nil { + return err + } + queue = queue[outn:] } } }