//Callback for MQTT subscription. async void IServiceCallback.MQTTSubscribe(String topic) { await mqttClientSemaphore.WaitAsync(); try { if (m_topicSet.Contains(topic)) { return; } else { ServiceLogic.ManagedMqttSubscribe(managedMqtt, topic); m_topicSet.Add(topic); } } finally { mqttClientSemaphore.Release(); } }