mirror of
https://github.com/fhmq/hmq.git
synced 2026-08-30 22:34:52 +00:00
Allow publish message by clientId (#147)
This commit is contained in:
@@ -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) {
|
func (b *Broker) BroadcastUnSubscribe(topicsToUnSubscribeFrom []string) {
|
||||||
if len(topicsToUnSubscribeFrom) == 0 {
|
if len(topicsToUnSubscribeFrom) == 0 {
|
||||||
return
|
return
|
||||||
|
|||||||
+1
-1
@@ -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
|
validFields = true
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|||||||
Reference in New Issue
Block a user