Drop user.forEachNetwork
It's a trivial for loop.
This commit is contained in:
parent
f2a03cf7a1
commit
0b5da29916
@ -351,7 +351,9 @@ func (dc *downstreamConn) forEachNetwork(f func(*network)) {
|
||||
if dc.network != nil {
|
||||
f(dc.network)
|
||||
} else if dc.isMultiUpstream {
|
||||
dc.user.forEachNetwork(f)
|
||||
for _, network := range dc.user.networks {
|
||||
f(network)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -775,11 +777,12 @@ func (dc *downstreamConn) handleMessageUnregistered(ctx context.Context, msg *ir
|
||||
}
|
||||
|
||||
var match *network
|
||||
dc.user.forEachNetwork(func(net *network) {
|
||||
for _, net := range dc.user.networks {
|
||||
if net.ID == id {
|
||||
match = net
|
||||
break
|
||||
}
|
||||
})
|
||||
}
|
||||
if match == nil {
|
||||
return ircError{&irc.Message{
|
||||
Command: "FAIL",
|
||||
@ -1436,7 +1439,7 @@ func (dc *downstreamConn) welcome(ctx context.Context) error {
|
||||
|
||||
if dc.caps["soju.im/bouncer-networks-notify"] {
|
||||
dc.SendBatch("soju.im/bouncer-networks", nil, nil, func(batchRef irc.TagValue) {
|
||||
dc.user.forEachNetwork(func(network *network) {
|
||||
for _, network := range dc.user.networks {
|
||||
idStr := fmt.Sprintf("%v", network.ID)
|
||||
attrs := getNetworkAttrs(network)
|
||||
dc.SendMessage(&irc.Message{
|
||||
@ -1445,7 +1448,7 @@ func (dc *downstreamConn) welcome(ctx context.Context) error {
|
||||
Command: "BOUNCER",
|
||||
Params: []string{"NETWORK", idStr, attrs.String()},
|
||||
})
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@ -2748,7 +2751,7 @@ func (dc *downstreamConn) handleMessageRegistered(ctx context.Context, msg *irc.
|
||||
}}
|
||||
case "LISTNETWORKS":
|
||||
dc.SendBatch("soju.im/bouncer-networks", nil, nil, func(batchRef irc.TagValue) {
|
||||
dc.user.forEachNetwork(func(network *network) {
|
||||
for _, network := range dc.user.networks {
|
||||
idStr := fmt.Sprintf("%v", network.ID)
|
||||
attrs := getNetworkAttrs(network)
|
||||
dc.SendMessage(&irc.Message{
|
||||
@ -2757,7 +2760,7 @@ func (dc *downstreamConn) handleMessageRegistered(ctx context.Context, msg *irc.
|
||||
Command: "BOUNCER",
|
||||
Params: []string{"NETWORK", idStr, attrs.String()},
|
||||
})
|
||||
})
|
||||
}
|
||||
})
|
||||
case "ADDNETWORK":
|
||||
var attrsStr string
|
||||
|
@ -506,7 +506,7 @@ func handleServiceNetworkCreate(ctx context.Context, dc *downstreamConn, params
|
||||
|
||||
func handleServiceNetworkStatus(ctx context.Context, dc *downstreamConn, params []string) error {
|
||||
n := 0
|
||||
dc.user.forEachNetwork(func(net *network) {
|
||||
for _, net := range dc.user.networks {
|
||||
var statuses []string
|
||||
var details string
|
||||
if uc := net.conn; uc != nil {
|
||||
@ -541,7 +541,7 @@ func handleServiceNetworkStatus(ctx context.Context, dc *downstreamConn, params
|
||||
sendServicePRIVMSG(dc, s)
|
||||
|
||||
n++
|
||||
})
|
||||
}
|
||||
|
||||
if n == 0 {
|
||||
sendServicePRIVMSG(dc, `No network configured, add one with "network create".`)
|
||||
@ -969,7 +969,9 @@ func handleServiceChannelStatus(ctx context.Context, dc *downstreamConn, params
|
||||
}
|
||||
|
||||
if *networkName == "" {
|
||||
dc.user.forEachNetwork(sendNetwork)
|
||||
for _, net := range dc.user.networks {
|
||||
sendNetwork(net)
|
||||
}
|
||||
} else {
|
||||
net := dc.user.getNetwork(*networkName)
|
||||
if net == nil {
|
||||
|
10
user.go
10
user.go
@ -464,12 +464,6 @@ func newUser(srv *Server, record *User) *user {
|
||||
}
|
||||
}
|
||||
|
||||
func (u *user) forEachNetwork(f func(*network)) {
|
||||
for _, network := range u.networks {
|
||||
f(network)
|
||||
}
|
||||
}
|
||||
|
||||
func (u *user) forEachUpstream(f func(uc *upstreamConn)) {
|
||||
for _, network := range u.networks {
|
||||
if network.conn == nil {
|
||||
@ -992,11 +986,11 @@ func (u *user) updateUser(ctx context.Context, record *User) error {
|
||||
if realnameUpdated {
|
||||
// Re-connect to networks which use the default realname
|
||||
var needUpdate []Network
|
||||
u.forEachNetwork(func(net *network) {
|
||||
for _, net := range u.networks {
|
||||
if net.Realname == "" {
|
||||
needUpdate = append(needUpdate, net.Network)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
var netErr error
|
||||
for _, net := range needUpdate {
|
||||
|
Loading…
Reference in New Issue
Block a user