v2.2.0
What's Changed
- Add Clone to system.Info by @thedevop in #163
- Adds a new Clone method to system.Info to make a copy of the system info values.
- Client write buffers by @mochi-co in #165
- Removes the fixed fanpool worker pool in exchange for writing directly to the clients via client-specific buffered write channels. In the event that a client's write buffer is full, in such an event as a slow reading client, the message is dropped and the new OnPublishDropped hook is called. If the message was QoS 1 or 2, the inflight is rolled back and the message is treated as unattempted.
- Adds a new OnPublishDropped hook which is called when message delivery was not attempted or rolled back due to irregular client behaviour (such as slow reads on the client side).
- Improves performance for mid-level throughput.
- Removes refreshDeadline call from client write, which caused some disconnected clients to remain online indefinitely, by @mochi-co per #156
- No longer issue retained messages on session takeover by @mochi-co in #166
- After an investigation into the issues seen in #153, the cause is determined to be a misreading of the specification regarding the issuance of retained messages on session takeover, confirmed in this comment by Andy Stanford-Clark As such, we will no longer issue retained messages when a session takeover occurs. QoS Inflight queueing continues to behave as expected.
Full Changelog: v2.1.8...v2.2.0
Tests
- Builds
- Unit Tests Passing
- Paho Interoperability Passing