* Add Directory.Build.props.
* Adjust Analysis related properties and add conditional enablement for ContinuousIntegrationBuild.
* Adopt new changes in master
---------
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
* 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 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>