Commit 65f143f86bafce96ef7096b5c550e71679f62626

Authored by Wiebe Cazemier
1 parent 1b9eed17

Fix sending queued messages before conack

Showing 1 changed file with 2 additions and 1 deletions
mqttpacket.cpp
@@ -327,13 +327,14 @@ void MqttPacket::handleConnect() @@ -327,13 +327,14 @@ void MqttPacket::handleConnect()
327 if (accessGranted) 327 if (accessGranted)
328 { 328 {
329 bool sessionPresent = protocolVersion >= ProtocolVersion::Mqtt311 && !clean_session && subscriptionStore->sessionPresent(client_id); 329 bool sessionPresent = protocolVersion >= ProtocolVersion::Mqtt311 && !clean_session && subscriptionStore->sessionPresent(client_id);
330 - subscriptionStore->registerClientAndKickExistingOne(sender);  
331 330
332 sender->setAuthenticated(true); 331 sender->setAuthenticated(true);
333 ConnAck connAck(ConnAckReturnCodes::Accepted, sessionPresent); 332 ConnAck connAck(ConnAckReturnCodes::Accepted, sessionPresent);
334 MqttPacket response(connAck); 333 MqttPacket response(connAck);
335 sender->writeMqttPacket(response); 334 sender->writeMqttPacket(response);
336 logger->logf(LOG_NOTICE, "Client '%s' logged in successfully", sender->repr().c_str()); 335 logger->logf(LOG_NOTICE, "Client '%s' logged in successfully", sender->repr().c_str());
  336 +
  337 + subscriptionStore->registerClientAndKickExistingOne(sender);
337 } 338 }
338 else 339 else
339 { 340 {