From fcac9d5cddd13224a54ccf7e95989a5b584c82fe Mon Sep 17 00:00:00 2001 From: contact Date: Wed, 8 Dec 2021 13:55:31 +0000 Subject: [PATCH] service: send summary when executing "server notice" Sometimes this command times out. Display the number of skipped users. git-svn-id: file:///srv/svn/repo/suika/trunk@755 f0ae65fe-ee39-954e-97ec-027ff2717ef4 --- 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 }