* Issues #2091 Improve the performance of RetainedMessages without subscribing to RetainedMessageChangedEvent.
* Fix build errors
* Update release notes
---------
Co-authored-by: Christian <6939810+chkr1011@users.noreply.github.com>
* Make use of language features line AsyncDispose, init etc.
* Fix build errors
* Improve Unit Tests
* Improve Unit Tests
* Improve Unit Tests
* Update samples
* Remove obsolete benchmarks
* Code cleanup
* Improve unit tests
* Improve Unit Tests
* Fix Unit Tests
* Improve Unit Tests
* Improve Unit Tests
* Restore unit tests
* Exclude load tests from unit tests
* Corrected Cancellation Source for KeepAlive Messages
* Use half of the keep alive value for the ping timeout
* Update release notes
* Update ReleaseNotes.md
* Update ReleaseNotes.md
* Update ReleaseNotes.md
---------
Co-authored-by: christian <6939810+chkr1011@users.noreply.github.com>
* Improve session message injection methods
* Add more tests for session injection
* Change return type from MqttPublishPacket to MqttPacketWithIdentifier
* Use dedicated type for MattApplicationMessage injection result
* Code review minor fixes
* Apply project code style
* Update release notes
---------
Co-authored-by: Anton Smolkov <anton.smolkov@idp.zyfra.com>
Co-authored-by: christian <6939810+chkr1011@users.noreply.github.com>
* Implement enhanced authentication for client and server.
* Update samples
* Add abstraction layer
* Merge master
* Use dedicated class for public API.
* Update release notes
* Rename methods to fit naming scheme
* Fix unit tests and samples
* fix: unused tryPrivate parameter in WithTryPrivate
* Fix wrong usage of try private
* feat: add option to provide deflate compression options to WebSocketOptionsBuilder
---------
Co-authored-by: christian <6939810+chkr1011@users.noreply.github.com>
* Improve the compatibility of MqttClientOptionsBuilder.WithConnectionUri() method.
* Force UseTls to true for secure schemes.
* Add support for UnixDomainSocket.
The function currently requires an ICollection<string>, but doesn't actually depend on the ICollection<string> interface. Relax the requirement to be IEnumerable<string> for better flexibility.
* Topic templates: Ensure parameter values are checked for wildcard
* Topic templates: Complement extension methods
- add template.BuildMessage()
- add subscribeOptionsBuilder.WithTopicTemplate()
* Topic templates: switch some samples to use a topic template
The changes should be self-explanatory and are
intended to provide more examples.
* Topic templates: add README
* Add support for changing the protocol type on socket level
* Do not set NoDelay when not supported by protocol
* Update release notes
* Fix release notes
* fix: time out and cancel propagation in managed client
* Update release notes
* Refactor code
---------
Co-authored-by: christian <6939810+chkr1011@users.noreply.github.com>
* rethrow MqttClientUnexpectedDisconnectReceivedException when Publish errors out because server disconnects the client and QoS is 0
* use a local var to cache _unexpectedDisconnectPacket
* Add inner exception to new exception
* Update release notes
* set the default inner exception as null
---------
Co-authored-by: christian <6939810+chkr1011@users.noreply.github.com>