/// <summary> /// Subscribes to the MQTT topics in SubscribedTopics. /// </summary> /// <param name="cancellationToken">Cancelation token.</param> /// <returns>Awaitable <see cref="Task" />.</returns> protected virtual async Task SubscribeAsync(CancellationToken cancellationToken = default(CancellationToken)) { _serviceLog.LogInformation("MQTT subscribing to the following topics: " + string.Join(", ", SubscribedTopics)); await MqttClient.SubscribeAsync(SubscribedTopics .Select(topic => new TopicFilterBuilder() .WithTopic(topic) .WithAtLeastOnceQoS() .Build())) .ConfigureAwait(false); }