1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
static void cleanup()
{
TestClient *client;
Message *msg;
/* Clean client state */
client = TestClientNew("clienta");
TestClientConnect(client, "localhost", 1883, 60, 1);
TestClientWait(client, 100);
TestClientDisconnect(client);
TestClientFree(client);
client = TestClientNew("clientb");
TestClientConnect(client, "localhost", 1883, 60, 1);
TestClientWait(client, 100);
TestClientDisconnect(client);
TestClientFree(client);
/* Clean retained messages */
client = TestClientNew("clean-retained");
TestClientConnect(client, "localhost", 1883, 60, 1);
TestClientSubscribe(client, "#", 0);
TestClientWait(client, 2000);
SIMPLEQ_FOREACH(msg, &client->messages, chain)
{
if (msg->retain)
{
printf("deleting retained message for topic %s\n", msg->topic);
TestClientPublish(client, 0, 1, msg->topic, "");
}
}
TestClientDisconnect(client);
TestClientFree(client);
}
|