Début implémentation buffering des messages MQTT lors d'un blackout internet

This commit is contained in:
2023-06-28 13:59:58 -04:00
parent 7bbf2cb812
commit 3a44111079
6 changed files with 197 additions and 10 deletions
@@ -17,6 +17,13 @@ class CMQTTClientWrapper : public QObject
{
Q_OBJECT
public:
typedef enum
{
MQTT_DROP_MSG_MODE,
MQTT_TRANSMIT_MSG_MODE,
MQTT_QUEUE_MSG_MODE
}eMQTTMsgQueuingMode;
CMQTTClientWrapper();
~CMQTTClientWrapper();
int SetMQTTParams(CCloudParams *Params);
@@ -30,17 +37,22 @@ public:
// QString mMQTTClientID;
QTimer *mMQTTRefreshTimer;
QTimer *mMQTTReconnectTimer;
QTimer *mMQTTQueueFlushTimer;
eMQTTMsgQueuingMode mMessagesQueueMode;
bool mDisconnectionIsVoluntary;
private:
QMqttClient mMQTTClient;
CCloudParams mMQTTParams;
QList<CCANDevice*> *mCANDevicesList;
QList<CMQTTMessage*> mMQTTMessagesQueue;
public slots:
void StateChanged();
void MQTTSendTimerExpired();
void MQTTReconnectTimerExpired();
void MQTTQueueFlushTimerExipred();
};