Add origin argument to upstreamConn.produce
This commit is contained in:
parent
b1494e1065
commit
baadb964bc
@ -1187,14 +1187,7 @@ func (dc *downstreamConn) handleMessageRegistered(msg *irc.Message) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
uc.appendLog(upstreamName, echoMsg)
|
uc.appendLog(upstreamName, echoMsg)
|
||||||
|
uc.produce(echoMsg, dc)
|
||||||
uc.network.ring.Produce(echoMsg)
|
|
||||||
|
|
||||||
uc.forEachDownstream(func(c *downstreamConn) {
|
|
||||||
if c != dc || c.caps["echo-message"] {
|
|
||||||
c.sendFromUpstream(echoMsg, uc)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
case "NOTICE":
|
case "NOTICE":
|
||||||
var targetsStr, text string
|
var targetsStr, text string
|
||||||
|
10
upstream.go
10
upstream.go
@ -247,7 +247,7 @@ func (uc *upstreamConn) handleMessage(msg *irc.Message) error {
|
|||||||
return nil
|
return nil
|
||||||
case "NOTICE":
|
case "NOTICE":
|
||||||
if msg.Prefix.User == "" && msg.Prefix.Host == "" { // server message
|
if msg.Prefix.User == "" && msg.Prefix.Host == "" { // server message
|
||||||
uc.produce(msg)
|
uc.produce(msg, nil)
|
||||||
} else { // regular user NOTICE
|
} else { // regular user NOTICE
|
||||||
var entity, text string
|
var entity, text string
|
||||||
if err := parseMessageParams(msg, &entity, &text); err != nil {
|
if err := parseMessageParams(msg, &entity, &text); err != nil {
|
||||||
@ -260,7 +260,7 @@ func (uc *upstreamConn) handleMessage(msg *irc.Message) error {
|
|||||||
}
|
}
|
||||||
uc.appendLog(target, msg)
|
uc.appendLog(target, msg)
|
||||||
|
|
||||||
uc.produce(msg)
|
uc.produce(msg, nil)
|
||||||
}
|
}
|
||||||
case "CAP":
|
case "CAP":
|
||||||
var subCmd string
|
var subCmd string
|
||||||
@ -1136,7 +1136,7 @@ func (uc *upstreamConn) handleMessage(msg *irc.Message) error {
|
|||||||
}
|
}
|
||||||
uc.appendLog(target, msg)
|
uc.appendLog(target, msg)
|
||||||
|
|
||||||
uc.produce(msg)
|
uc.produce(msg, nil)
|
||||||
case "INVITE":
|
case "INVITE":
|
||||||
var nick string
|
var nick string
|
||||||
var channel string
|
var channel string
|
||||||
@ -1364,11 +1364,13 @@ func (uc *upstreamConn) appendLog(entity string, msg *irc.Message) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (uc *upstreamConn) produce(msg *irc.Message) {
|
func (uc *upstreamConn) produce(msg *irc.Message, origin *downstreamConn) {
|
||||||
uc.network.ring.Produce(msg)
|
uc.network.ring.Produce(msg)
|
||||||
|
|
||||||
uc.forEachDownstream(func(dc *downstreamConn) {
|
uc.forEachDownstream(func(dc *downstreamConn) {
|
||||||
|
if dc != origin || dc.caps["echo-message"] {
|
||||||
dc.sendFromUpstream(msg, uc)
|
dc.sendFromUpstream(msg, uc)
|
||||||
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user