In v1.1.0 we made changes to the alignment of several structs (particularly Buffer) in order to ensure the broker is compatible with 32bit systems. In the process we discovered that other structs were not aligned in an optimised manner. v1.1.1 aligns all structs to 8bit boundaries and ensures they are packed most efficiently.
This release also contains other minor fixes:
- Locks were being copied in the Inflight, Buffer structs. These are now passed by address where appropriate.
- The method signature for writer WriteTo implemented an int instead of int64. This has been corrected and references to the method updated.
- Small changes to comments for clarity.
Tested on 32 and 64 bit platforms:
- Paho interoperability tests pass.
- Multiple iterations of inovex mqtt-stresser succeed without issue.
- All unit tests pass.
go vet
now passes clearly.
What's Changed
Full Changelog: v1.1.0...v1.1.1