-
Also include a few stats.
-
This was necessary for publishing will messages from the destructor of a client, when you're connecting two clients with a will, no clean session and the same ID.
-
Shifting signed integers is undefined and only sometimes produced unexpected results. Was detected in packet identifiers in QoS testing.
-
Also fixes not downgrading QoS on subscribe.
-
https://github.com/halfgaar/FlashMQ/issues/2
-
Unsubscribing paths that didn't exist caused creation of null nodes, which subsequent use of the tree crashed on.
-
Found by quinox using AFL.
-
Instead of getting it from the sender of a packet. Sometimes there was no sender. This fixes a crash on retained messages, because those newly created packets didn't have a sender to get the threaddata from. So, using a special object for it is easier and more robust.
-
Encrypted version only.
-
Profiling showed it was significant enough to do so.
-
My IDE didn't understand them for finding symbols, apparently.