diff options
| author | Oskari Timperi <oskari.timperi@iki.fi> | 2017-02-19 13:26:47 +0200 |
|---|---|---|
| committer | Oskari Timperi <oskari.timperi@iki.fi> | 2017-02-19 13:26:47 +0200 |
| commit | d8d647e4360b9570259ba9834f64b7d78ad36968 (patch) | |
| tree | c0d074366a6e676f9a70a5d093c208d9661ba738 /src/client.c | |
| parent | 6748a038cf62cfb6e817f758ce8255e0e2debe60 (diff) | |
| download | mqtt-d8d647e4360b9570259ba9834f64b7d78ad36968.tar.gz mqtt-d8d647e4360b9570259ba9834f64b7d78ad36968.zip | |
Add private APIs to support interop testing
Diffstat (limited to 'src/client.c')
| -rw-r--r-- | src/client.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/client.c b/src/client.c index bdfaf2c..c4bd499 100644 --- a/src/client.c +++ b/src/client.c @@ -8,6 +8,7 @@ #include "serialize.h" #include "deserialize.h" #include "log.h" +#include "private.h" #include "queue.h" @@ -75,6 +76,8 @@ struct MqttClient bstring willMessage; int willQos; int willRetain; + /* 1 if client should ignore incoming PUBLISH messages, 0 handle them */ + int paused; }; enum MessageState @@ -674,6 +677,9 @@ static void MqttClientHandleSubAck(MqttClient *client, MqttPacketSubAck *packet) static void MqttClientHandlePublish(MqttClient *client, MqttPacketPublish *packet) { + if (client->paused) + return; + if (MqttPacketPublishQos(packet) == 2) { /* Check if we have sent a PUBREC previously with the same id. If we @@ -1115,3 +1121,15 @@ static void MqttClientClearQueues(MqttClient *client) MqttPacketFree(packet); } } + +void MqttClientPause(MqttClient *client) +{ + assert(client != NULL); + client->paused = 1; +} + +void MqttClientResume(MqttClient *client) +{ + assert(client != NULL); + client->paused = 0; +} |
