From 9caa6f9ca088eecbc869f6d9a818ee21482e525e Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Wed, 8 Dec 2021 14:55:31 +0100 Subject: [PATCH] service: send summary when executing "server notice" Sometimes this command times out. Display the number of skipped users. --- service.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/service.go b/service.go index c27704d..0d6d7f0 100644 --- a/service.go +++ b/service.go @@ -1090,12 +1090,20 @@ func handleServiceServerNotice(ctx context.Context, dc *downstreamConn, params [ Params: []string{"$" + dc.srv.Config().Hostname, text}, } var err error + sent := 0 + total := 0 dc.srv.forEachUser(func(u *user) { + total++ select { case <-ctx.Done(): err = ctx.Err() case u.events <- eventBroadcast{broadcastMsg}: + sent++ } }) + + dc.logger.Printf("broadcast bouncer-wide NOTICE to %v/%v downstreams", sent, total) + sendServicePRIVMSG(dc, fmt.Sprintf("sent to %v/%v downstream connections", sent, total)) + return err }