From 12ac4c2c0615cc6d0b19b37a6f304e3ad4bb9884 Mon Sep 17 00:00:00 2001 From: Ron Evans Date: Sat, 29 Feb 2020 22:28:36 +0100 Subject: [PATCH] mqtt: use buffered channels for incoming messages to handle bursts Signed-off-by: Ron Evans --- net/mqtt/mqtt.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/net/mqtt/mqtt.go b/net/mqtt/mqtt.go index e3b51ce..bcc0d56 100644 --- a/net/mqtt/mqtt.go +++ b/net/mqtt/mqtt.go @@ -77,9 +77,9 @@ func (c *mqttclient) Connect() Token { } c.mid = 1 - c.inbound = make(chan packets.ControlPacket) + c.inbound = make(chan packets.ControlPacket, 10) c.stop = make(chan struct{}) - c.incomingPubChan = make(chan *packets.PublishPacket) + c.incomingPubChan = make(chan *packets.PublishPacket, 10) c.msgRouter.matchAndDispatch(c.incomingPubChan, c.opts.Order, c) // send the MQTT connect message @@ -98,7 +98,7 @@ func (c *mqttclient) Connect() Token { connectPkt.ClientIdentifier = c.opts.ClientID connectPkt.ProtocolVersion = byte(c.opts.ProtocolVersion) connectPkt.ProtocolName = "MQTT" - connectPkt.Keepalive = 30 + connectPkt.Keepalive = 60 err = connectPkt.Write(c.conn) if err != nil {