-
This also contains some fixes/unifications for traditional authentication, error handling specifically.
-
This required a special type WillPublish to make this easier and more logical.
-
- Delay is properly counted from moment of disconnect. - When a session is picked up again, the will is not sent. - An actual fix to what I tried a few commits ago: fix sending will twice. This logic should make storing wills also easier.
-
Also fixes a bug in new interval calculation.
-
This prevents bugs because the calling context forgets it. A (small) downside is that I have to make the Publish argument non-const. But, that's exactly what it is then, so...
-
Not tested yet.
-
I'm simplying/merging the rec, comp and rel packets, but I'm not sure it will work. Committing as a safe point. Later: I got it done as planned. Testing qos > 0 and mqtt5 still needs to be done more.
-
I think it's correct, but mosquitto_sub doesn't seem to support it, so I can't test. Also some other stuff I happen to see.
-
And one line about correlation data that was a bug.
-
This replaces the old style checking of expired sessions once every 10 minutes or so.
-
I need to decide what to do with getPublishData and that disabled test needs repurposing.
-
which also has implications on how I think to handle 'queuePacketAtSub'
-
Most of it is limits we already implemented non-standard compliant.
-
This is a preparation for MQTT5, because when there are receivers and publishers with different protocols, you can't always just write out the same packet. You can sometimes though, so that's what the copy factory determines.
-
Also includes fixes to packet parsing that I couldn't make a separate commit for. When it comes to QoS 1, these things are still left, off the top of my head: - vector for qos queue? It helps with ordering and is CPU cache friendly. - Store subscription QoS. - Do retained messages have QoS? - Give session client's name, to access it later.
-
Also materializes some concepts about MqttPacket.
-
Roughly...