public Client(MqttSettings mqttSettings, bool autoReconnect = true) { this._mqttSettings = mqttSettings; this._autoReconnect = autoReconnect; Log = LogManager.GetCurrentClassLogger("MqttClient"); client = new MqttClient(_mqttSettings.broker, _mqttSettings.port, false, null, null, MqttSslProtocols.None); client.MqttMsgPublishReceived += Client_MqttMsgPublishReceived; client.ConnectionClosed += Client_ConnectionClosed; string clientId = _mqttSettings.deviceId; if (autoReconnect) { _reconnectTimer = new System.Timers.Timer(_mqttSettings.reconnectInterval); _reconnectTimer.Elapsed += delegate { if (client != null && !client.IsConnected) { ConnectionReconnecting?.Invoke(); _queueCancellationTokenSource.Cancel(); MqttConnect(); } }; } }
public FakeClient(MqttSettings mqttSettings) { this._mqttSettings = mqttSettings; Log = LogManager.GetCurrentClassLogger("FakeMqtt"); Log.Warn("***"); Log.Warn("Initializing FakeClient. No actual MQTT connections will be made."); Log.Warn("Essentially a very basic, very fake MQTT internal server."); Log.Warn($"Using fake delays: {_mqttSettings.useFakeMqttDelays} | Using fake failures: {_mqttSettings.useFakeMqttFailures}"); Log.Warn("***"); }