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 | |
| parent | 6748a038cf62cfb6e817f758ce8255e0e2debe60 (diff) | |
| download | mqtt-d8d647e4360b9570259ba9834f64b7d78ad36968.tar.gz mqtt-d8d647e4360b9570259ba9834f64b7d78ad36968.zip | |
Add private APIs to support interop testing
Diffstat (limited to 'src')
| -rw-r--r-- | src/client.c | 18 | ||||
| -rw-r--r-- | src/private.h | 10 |
2 files changed, 28 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; +} diff --git a/src/private.h b/src/private.h new file mode 100644 index 0000000..5a0f4d0 --- /dev/null +++ b/src/private.h @@ -0,0 +1,10 @@ +#ifndef MQTT_PRIVATE_H +#define MQTT_PRIVATE_H + +#include "mqtt.h" + +void MqttClientPause(MqttClient *client); + +void MqttClientResume(MqttClient *client); + +#endif |
