Unify downstreamConn.marshal{Entity,Nick,Channel}

We don't actually need to check if the entity is a channel.
This commit is contained in:
Simon Ser 2020-04-16 16:33:56 +02:00
parent 8e852cc7e4
commit e508f2ca81
No known key found for this signature in database
GPG key ID: 0FDE7BE0E88F5E48

View file

@ -126,20 +126,38 @@ func (dc *downstreamConn) upstream() *upstreamConn {
//
// This involves adding a "/<network>" suffix if the entity isn't the current
// user.
func (dc *downstreamConn) marshalEntity(uc *upstreamConn, entity string) string {
if uc.isChannel(entity) {
return dc.marshalChannel(uc, entity)
}
return dc.marshalNick(uc, entity)
}
func (dc *downstreamConn) marshalChannel(uc *upstreamConn, name string) string {
func (dc *downstreamConn) marshalEntity(uc *upstreamConn, name string) string {
if dc.network != nil {
return name
}
if name == uc.nick {
return dc.nick
}
return name + "/" + uc.network.GetName()
}
func (dc *downstreamConn) marshalChannel(uc *upstreamConn, name string) string {
return dc.marshalEntity(uc, name)
}
func (dc *downstreamConn) marshalNick(uc *upstreamConn, name string) string {
return dc.marshalEntity(uc, name)
}
func (dc *downstreamConn) marshalUserPrefix(uc *upstreamConn, prefix *irc.Prefix) *irc.Prefix {
if prefix.Name == uc.nick {
return dc.prefix()
}
if dc.network != nil {
return prefix
}
return &irc.Prefix{
Name: prefix.Name + "/" + uc.network.GetName(),
User: prefix.User,
Host: prefix.Host,
}
}
// unmarshalEntity converts a downstream entity name (ie. channel or nick) into
// an upstream entity name.
//
@ -171,30 +189,6 @@ func (dc *downstreamConn) unmarshalEntity(name string) (*upstreamConn, string, e
return conn, name, nil
}
func (dc *downstreamConn) marshalNick(uc *upstreamConn, nick string) string {
if nick == uc.nick {
return dc.nick
}
if dc.network != nil {
return nick
}
return nick + "/" + uc.network.GetName()
}
func (dc *downstreamConn) marshalUserPrefix(uc *upstreamConn, prefix *irc.Prefix) *irc.Prefix {
if prefix.Name == uc.nick {
return dc.prefix()
}
if dc.network != nil {
return prefix
}
return &irc.Prefix{
Name: prefix.Name + "/" + uc.network.GetName(),
User: prefix.User,
Host: prefix.Host,
}
}
func (dc *downstreamConn) readMessages(ch chan<- event) error {
for {
msg, err := dc.ReadMessage()