* Add MqttTopicTemplate
The topic template class is a way to deal with dynamic topics that
is less cumbersome and error-prone than String.Format or
other string fu one might use to handle dynamic topics.
Example:
MyCity/{street}/{crossing}/lights
'street' and 'crossing' would be parameters.
The class and its extension methods are intended to support
dynamic subscription/publication, message-topic matching and
routing. The template syntax is modelled after the well-known
moustache syntax, which conincidentally is also published
as the 'AsyncAPI channel address expressions'.
* Add MQTTnet.Extensions.TopicTemplate to solution
* Apply code style from team shared resharper settings.
Add missing file headers.
* Update release notes
---------
Co-authored-by: christian <6939810+chkr1011@users.noreply.github.com>
* Move "Client is not connected" error to it's own exception
* Update MqttClientNotConnectedException.cs
* Update release notes
---------
Co-authored-by: Christian <6939810+chkr1011@users.noreply.github.com>
* See the issue #1862
Adding an event when ManagedMqttClient actually subscribe/unsubscribe to topics.
This event has to be used in parallel with connected event to know the exact state.
* Rename SubscriptionsResultAsync to SubscriptionsChangedAsync.
* Rename internal field for event
* Update ReleaseNotes.md
---------
Co-authored-by: Pierre Dufrene <pierre.dufrene@se.com>
Co-authored-by: Christian <6939810+chkr1011@users.noreply.github.com>
* Add support for custom endpoints
Add overlaods etc. to allow for passing other endpoint implementations
* Extend publich broker test to also probe with different protocol versions
* Fix UWP build
* Update ReleaseNotes.md
* Adds events for delivered and dropped messages.
* Rename new events to match other namings
* Update ReleaseNotes.md
---------
Co-authored-by: Christian <6939810+chkr1011@users.noreply.github.com>
* Access exception so that it will not treated as unhandled
* Refactor code
* Improve unit tests
* Fix null reference exception
* Update ReleaseNotes.md
* Update settings for tests project so that it will build on linux
* Improve unit tests and samples
* Remove no longer required target frameworks for unit tests
* Update ci.yml
* Add possibility to specify parameter to RPC invocation which will be accessible in TopicGenerationContext.
* Make parameters optional
* Update ReleaseNotes.md
---------
Co-authored-by: Christian <6939810+chkr1011@users.noreply.github.com>
* Refactor Unit Tests
* Add new certificate provider interface instead of read only certificates list.
* Update ReleaseNotes.md
* Fix Unit Tests
* Fix build
* unit testing hot swappable certificates (#1787)
* Move test classes to correct namespace
* Apply code style
---------
Co-authored-by: Sean Hanna <hannasm@users.noreply.github.com>
* Warning was always logged
Warning was always logged while the text states it would throw a `MqttConnectingFailedException` exception
* Update ReleaseNotes.md
---------
Co-authored-by: Christian <6939810+chkr1011@users.noreply.github.com>
* Address issue #1818 where MqttConnectionContext throws and error when passed a TcpConnection.
* Update ReleaseNotes.md
---------
Co-authored-by: Christian <6939810+chkr1011@users.noreply.github.com>
* Moved check on Options.ValidateFeatures below ThrowIf methods to prevent NullReferenceException
* Add Unit Test
* Update ReleaseNotes.md
---------
Co-authored-by: Christian <6939810+chkr1011@users.noreply.github.com>