MqttTopicBuilder is a library that aims to provide a robust context for MQTT topics handling for developers.
Made with .NET Standard 2.0, chances are that your application will be compatible (Minimum supported platforms: .NET Core 2.0+ and .NET Framework 4.6.1)
You can use it seamlessly in your application, both for your subscribers and publishers by using the builder's fluent API:
var topic =newTopicBuilder(TopicConsumer.Subscriber).AddTopic("Hello").AddTopic("From").AddTopics("Mqtt","Topic","Builder").AddMultiLevelWildcard().Build();Console.WriteLine(topic);// -> "Hello/From/Mqtt/Topic/Builder/#"
Why ?
MQTT topics are raw strings by default. However, they do embed quite a lot of logic such as their level, wildcards or even their own structure. Moreover, they have to follow some very strict rules, which can be a burden to developers to test, parse or maintain.
MqttTopicBuilder provides a bunch of tools in order to help developers to manipulate strongly typed MQTT topics objects instead of those strings.
This tools also handle all compliance checks with the MQTT specification regarding how the topic should be built: let us spend time on the tedious tasks so you can use more of yours to build awesome and robust applications !