Multi brokers MQTT semble fonctionner
This commit is contained in:
@@ -175,11 +175,12 @@ void CMQTTClientWrapper::StateChanged()
|
||||
{
|
||||
//Connection attempt failed, just restart the timer...
|
||||
mMQTTReconnectTimer->start(MQTT_CLIENT_RECONNECT_TIMEOUT);
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage("Client MQTT déconnecté pendant une reconnexion. ","CMQTTClientWrapper",true,1);
|
||||
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Client MQTT %1 déconnecté pendant une reconnexion. ").arg(mMQTTParams.mMQTTBrokerHostName),"CMQTTClientWrapper",true,1);
|
||||
}
|
||||
else
|
||||
{
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage("Client MQTT déconnecté.","CMQTTClientWrapper",true,1);
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Client MQTT %1 déconnecté.").arg(mMQTTParams.mMQTTBrokerHostName),"CMQTTClientWrapper",true,1);
|
||||
mProgramPtr->SetMQTTConnectionSatusRequest(false);
|
||||
#ifndef ENABLE_DEVELOPMENT_DEBUG_TOOLS
|
||||
mMQTTReconnectTimer->start(MQTT_CLIENT_RECONNECT_TIMEOUT);
|
||||
@@ -195,7 +196,7 @@ void CMQTTClientWrapper::StateChanged()
|
||||
if(mDisconnectionIsVoluntary == false)
|
||||
{
|
||||
mMessagesQueueMode = MQTT_QUEUE_MSG_MODE; //We're disconnected, queue all the messages.
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage("Passage en mode buffering des messages MQTT","CMQTTClientWrapper",true,1);
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Passage en mode buffering des messages MQTT pour %1").arg(mMQTTParams.mMQTTBrokerHostName),"CMQTTClientWrapper",true,1);
|
||||
mBufferingModeText = "Buffering";
|
||||
UpdateGUIBufferingStatus();
|
||||
}
|
||||
@@ -207,11 +208,11 @@ void CMQTTClientWrapper::StateChanged()
|
||||
mProgramPtr->SetMQTTConnectionSatusRequest(true);
|
||||
mMQTTReconnectTimer->stop();
|
||||
mIsClientConnecting = false;
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage("Client MQTT connecté.","CMQTTClientWrapper",true,1);
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Client MQTT %1 connecté.").arg(mMQTTParams.mMQTTBrokerHostName),"CMQTTClientWrapper",true,1);
|
||||
if(mMQTTMessagesQueue.isEmpty() == false)
|
||||
{
|
||||
mMessagesQueueMode = MQTT_QUEUE_MSG_MODE; //Stay in (or enter) queue mode until we empty the buffer
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage("FIFO non vide, passage au mode de vidage de la FIFO","CMQTTClientWrapper",true,2);
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("FIFO non vide, passage au mode de vidage de la FIFO pour %1").arg(mMQTTParams.mMQTTBrokerHostName),"CMQTTClientWrapper",true,2);
|
||||
|
||||
mBufferingModeText = "Buffering";
|
||||
mCircularBufferStatusText = QString("%2/%1 messages (0%3\%)").arg(MQTT_CLIENT_MSG_QUEUE_SIZE).arg(mMQTTMessagesQueue.size()).arg((mMQTTMessagesQueue.size()/MQTT_CLIENT_MSG_QUEUE_SIZE)*100);
|
||||
@@ -234,7 +235,8 @@ void CMQTTClientWrapper::StateChanged()
|
||||
case QMqttClient::Connecting:
|
||||
{
|
||||
mIsClientConnecting = true;
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage("Client MQTT en cours de connexion... ","CMQTTClientWrapper",true,1);
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Client MQTT %1 en cours de connexion... ").arg(mMQTTParams.mMQTTBrokerHostName),"CMQTTClientWrapper",true,1);
|
||||
mProgramPtr->SetMQTTConnectionSatusRequest(false);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -414,6 +416,32 @@ void CMQTTClientWrapper::MQTTClientError(QMqttClient::ClientError error)
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Erreur du client MQTT: %1").arg(error),"CMQTTClientWrapper",true,2);
|
||||
}
|
||||
|
||||
bool CMQTTClientWrapper::IsMQTTClientConnected()
|
||||
{
|
||||
if(mMQTTClient.state() != QMqttClient::Connected)
|
||||
return false;
|
||||
else
|
||||
return true;
|
||||
}
|
||||
|
||||
QString CMQTTClientWrapper::GetMQTTClientConnectionState()
|
||||
{
|
||||
QString StateText;
|
||||
if(mMQTTClient.state() == QMqttClient::Connected)
|
||||
{
|
||||
StateText = QString("%1 : Connecté").arg(mMQTTParams.mMQTTBrokerHostName);
|
||||
}
|
||||
else if(mMQTTClient.state() == QMqttClient::Connecting)
|
||||
{
|
||||
StateText = QString("%1 : En connexion...").arg(mMQTTParams.mMQTTBrokerHostName);
|
||||
}
|
||||
else
|
||||
{
|
||||
StateText = QString("%1 : Déconnecté").arg(mMQTTParams.mMQTTBrokerHostName);
|
||||
}
|
||||
return StateText;
|
||||
}
|
||||
|
||||
//This function is used only when flushing the msg queue
|
||||
void CMQTTClientWrapper::MQTTMessageSent(qint32 MsgID)
|
||||
{
|
||||
|
||||
@@ -41,6 +41,8 @@ public:
|
||||
int StartMQTTClient();
|
||||
int StopMQTTClient();
|
||||
quint64 GetMQTTServerPresenceCANMask();
|
||||
bool IsMQTTClientConnected();
|
||||
QString GetMQTTClientConnectionState();
|
||||
|
||||
#ifdef ENABLE_DEVELOPMENT_DEBUG_TOOLS
|
||||
int ForceMQTTClientDisconnection(bool Disconnect);
|
||||
|
||||
Reference in New Issue
Block a user