mirror of https://github.com/eclipse/paho.mqtt.c
Debug test45 pending-tokens
This commit is contained in:
parent
f07dcbdae2
commit
6fdcc7bd2b
|
|
@ -1305,14 +1305,6 @@ static void MQTTAsync_writeComplete(int socket, int rc)
|
|||
MQTTAsync_command* command = m->pending_write;
|
||||
MQTTAsync_queuedCommand* com = NULL;
|
||||
|
||||
Log(TRACE_PROTOCOL, -1, "Response list start - before delete");
|
||||
while (ListNextElement(m->responses, &cur_response))
|
||||
{
|
||||
com = (MQTTAsync_queuedCommand*)(cur_response->content);
|
||||
Log(TRACE_PROTOCOL, -1, "Response for token: %d", com->command.token);
|
||||
}
|
||||
Log(TRACE_PROTOCOL, -1, "Response list end");
|
||||
|
||||
cur_response = NULL;
|
||||
while (ListNextElement(m->responses, &cur_response))
|
||||
{
|
||||
|
|
@ -1384,21 +1376,13 @@ static void MQTTAsync_writeComplete(int socket, int rc)
|
|||
}
|
||||
if (com)
|
||||
{
|
||||
Log(TRACE_PROTOCOL, -1, "writeComplete: Removing response for msgid %d", com->command.token);
|
||||
ListDetach(m->responses, com);
|
||||
MQTTAsync_freeCommand(com);
|
||||
Log(TRACE_PROTOCOL, -1, "writeComplete: Removing response for msgid %d", com->command.token);
|
||||
ListDetach(m->responses, com);
|
||||
MQTTAsync_freeCommand(com);
|
||||
}
|
||||
Log(TRACE_PROTOCOL, -1, "Response list start - after delete");
|
||||
cur_response = NULL;
|
||||
while (ListNextElement(m->responses, &cur_response))
|
||||
{
|
||||
com = (MQTTAsync_queuedCommand*)(cur_response->content);
|
||||
Log(TRACE_PROTOCOL, -1, "Response for token: %d", com->command.token);
|
||||
}
|
||||
Log(TRACE_PROTOCOL, -1, "Response list end");
|
||||
}
|
||||
} /* if cur_response */
|
||||
m->pending_write = NULL;
|
||||
}
|
||||
} /* if pending_write */
|
||||
}
|
||||
FUNC_EXIT;
|
||||
}
|
||||
|
|
@ -3831,8 +3815,6 @@ static MQTTPacket* MQTTAsync_cycle(int* sock, unsigned long timeout, int* rc)
|
|||
*rc = MQTTProtocol_handlePubacks(pack, *sock);
|
||||
if (!m)
|
||||
Log(LOG_ERROR, -1, "PUBCOMP, PUBACK or PUBREC received for no client, msgid %d", msgid);
|
||||
if (pack->header.bits.type == PUBACK)
|
||||
Log(TRACE_PROTOCOL, -1, "PUBACK m %p ackrc %d", m, ackrc);
|
||||
if (m && (msgtype != PUBREC || ackrc >= MQTTREASONCODE_UNSPECIFIED_ERROR))
|
||||
{
|
||||
ListElement* current = NULL;
|
||||
|
|
@ -3842,16 +3824,12 @@ static MQTTPacket* MQTTAsync_cycle(int* sock, unsigned long timeout, int* rc)
|
|||
Log(TRACE_MIN, -1, "Calling deliveryComplete for client %s, msgid %d", m->c->clientID, msgid);
|
||||
(*(m->dc))(m->dcContext, msgid);
|
||||
}
|
||||
if (pack->header.bits.type == PUBACK)
|
||||
Log(TRACE_PROTOCOL, -1, "PUBACK finding msgid %d", msgid);
|
||||
/* use the msgid to find the callback to be called */
|
||||
while (ListNextElement(m->responses, ¤t))
|
||||
{
|
||||
MQTTAsync_queuedCommand* command = (MQTTAsync_queuedCommand*)(current->content);
|
||||
if (command->command.token == msgid)
|
||||
{
|
||||
if (pack->header.bits.type == PUBACK)
|
||||
Log(TRACE_PROTOCOL, -1, "PUBACK found msgid %d %p", msgid, command->command.onSuccess);
|
||||
if (!ListDetach(m->responses, command)) /* then remove the response from the list */
|
||||
Log(LOG_ERROR, -1, "Publish command not removed from command list");
|
||||
if (command->command.onSuccess)
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2009, 2018 IBM Corp.
|
||||
* Copyright (c) 2009, 2019 IBM Corp.
|
||||
*
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Eclipse Public License v1.0
|
||||
|
|
@ -1484,7 +1484,7 @@ int test7_run(int qos, int start_mqtt_version, int restore_mqtt_version)
|
|||
test_finished = 0;
|
||||
|
||||
createOpts.MQTTVersion = start_mqtt_version;
|
||||
MQTTAsync_setTraceLevel(MQTTASYNC_TRACE_ERROR);
|
||||
MQTTAsync_setTraceLevel(MQTTASYNC_TRACE_PROTOCOL);
|
||||
rc = MQTTAsync_createWithOptions(&c, options.connection, "async_test7",
|
||||
MQTTCLIENT_PERSISTENCE_DEFAULT, NULL, &createOpts);
|
||||
assert("good rc from create", rc == MQTTASYNC_SUCCESS, "rc was %d\n", rc);
|
||||
|
|
@ -1614,7 +1614,7 @@ int test7_run(int qos, int start_mqtt_version, int restore_mqtt_version)
|
|||
|
||||
MQTTAsync_destroy(&c); /* force re-reading persistence on create */
|
||||
|
||||
MQTTAsync_setTraceLevel(MQTTASYNC_TRACE_ERROR);
|
||||
MQTTAsync_setTraceLevel(MQTTASYNC_TRACE_PROTOCOL);
|
||||
createOpts.MQTTVersion = restore_mqtt_version;
|
||||
rc = MQTTAsync_createWithOptions(&c, options.connection, "async_test7",
|
||||
MQTTCLIENT_PERSISTENCE_DEFAULT, NULL, &createOpts);
|
||||
|
|
|
|||
|
|
@ -2561,10 +2561,7 @@ int main(int argc, char** argv)
|
|||
}
|
||||
else
|
||||
{
|
||||
if (options.test_no == 10)
|
||||
MQTTAsync_setTraceLevel(MQTTASYNC_TRACE_PROTOCOL);
|
||||
else
|
||||
MQTTAsync_setTraceLevel(MQTTASYNC_TRACE_ERROR);
|
||||
MQTTAsync_setTraceLevel(MQTTASYNC_TRACE_ERROR);
|
||||
rc = tests[options.test_no](options); /* run just the selected test */
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue