Allow publish message by clientId (#147)

This commit is contained in:
ZhangJian He
2022-04-04 20:41:04 +08:00
committed by GitHub
parent bd5bd04e45
commit a501565bab
2 changed files with 13 additions and 1 deletions

View File

@@ -642,6 +642,18 @@ func (b *Broker) PublishMessage(packet *packets.PublishPacket) {
}
}
func (b *Broker) PublishMessageByClientId(packet *packets.PublishPacket, clientId string) error {
cli, loaded := b.clients.LoadAndDelete(clientId)
if !loaded {
return fmt.Errorf("clientId %s not connected", clientId)
}
conn, success := cli.(*client)
if !success {
return fmt.Errorf("clientId %s loaded fail", clientId)
}
return conn.WriterPacket(packet)
}
func (b *Broker) BroadcastUnSubscribe(topicsToUnSubscribeFrom []string) {
if len(topicsToUnSubscribeFrom) == 0 {
return

View File

@@ -248,7 +248,7 @@ func validatePacketFields(msgPacket packets.ControlPacket) (validFields bool) {
}
}
// All fields has been validated successfully
// All fields have been validated successfully
validFields = true
return