public async Task CloseAsync() { if (client == null) { try { await client.DisconnectAsync(); } catch { } } }
public async Task CloseAsync() { if (client == null || !client.IsConnected) { logger?.LogWarning("MQTT client is not available to close."); return; } try { await client.DisconnectAsync(); client = null; logger?.LogInformation("MQTT client channel disconnected/closed."); } catch (Exception ex) { logger?.LogError(ex, "Fault closing MQTT client channel."); } }