allow bridge mq cost msg (#162)

This commit is contained in:
ZhangJian He
2022-05-20 21:27:48 +08:00
committed by GitHub
parent 92758c8c85
commit 5dc2114daf
7 changed files with 21 additions and 14 deletions
+4 -2
View File
@@ -5,11 +5,13 @@ import (
"go.uber.org/zap"
)
func (b *Broker) Publish(e *bridge.Elements) {
func (b *Broker) Publish(e *bridge.Elements) bool {
if b.bridgeMQ != nil {
err := b.bridgeMQ.Publish(e)
cost, err := b.bridgeMQ.Publish(e)
if err != nil {
log.Error("send message to mq error.", zap.Error(err))
}
return cost
}
return false
}
+5 -1
View File
@@ -414,7 +414,7 @@ func (c *client) processClientPublish(packet *packets.PublishPacket) {
}
//publish to bridge mq
c.broker.Publish(&bridge.Elements{
cost := c.broker.Publish(&bridge.Elements{
ClientID: c.info.clientID,
Username: c.info.username,
Action: bridge.Publish,
@@ -423,6 +423,10 @@ func (c *client) processClientPublish(packet *packets.PublishPacket) {
Topic: topic,
})
if cost {
return
}
switch packet.Qos {
case QosAtMostOnce:
c.ProcessPublishMessage(packet)
+2 -2
View File
@@ -15,7 +15,7 @@ func (c *client) SendInfo() {
}
url := c.info.localIP + ":" + c.broker.config.Cluster.Port
infoMsg := NewInfo(c.broker.id, url, false)
infoMsg := NewInfo(c.broker.id, url)
err := c.WriterPacket(infoMsg)
if err != nil {
log.Error("send info message error, ", zap.Error(err))
@@ -60,7 +60,7 @@ func (c *client) SendConnect() {
log.Info("send connect success")
}
func NewInfo(sid, url string, isforword bool) *packets.PublishPacket {
func NewInfo(sid, url string) *packets.PublishPacket {
pub := packets.NewControlPacket(packets.Publish).(*packets.PublishPacket)
pub.Qos = 0
pub.TopicName = BrokerInfoTopic