* fix: MISRA 15.1 (goto) violations - part 1
Remove gotos, fix a unit test failure.
* fix: MISRA 15.1 (goto) violations - part 1
Remove gotos, fix a unit test failure.
* fix: MQTT remaining length test.
Three bytes need to have continuation bit set.
* Update iot_mqtt_network.c
* Ignore MISRA directive 4.6 in iot_atomic_gcc.h
* MISRA Directive 4.6 on MQTT files and logging.
* Add comments to coverity annotations.
* Elaborate the iot_atomic_gcc.h comments about annotations.
* Add IotLog() to the lexicon.txt for mqtt.
* Fix grammar on coverity comments.
Co-authored-by: Gary Wicker <14828980+gkwicker@users.noreply.github.com>
* Refactor _IotMqtt_DeserializeSuback
* Refactor find operation
* Refactor QoS and string check
* Fix CBMC proof for new function name
* Refactor subscription list validation
The purpose of this change is to allow standard-based username/password device authentication to an MQTT broker (#641).
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
feature: Lightweight serializer API for MQTT.
MQTT serializer API changes to support lightweight single threaded app.
CSDK MQTT Library provides stateful MQTT API that makes use of taskpool
and network abstraction. The library makes use dynamic memory
allocations and makes use of multiple threads or tasks.
Embedded applications running on microcontroller may want to
use single threaded model to run MQTT.
The API changes enable application developers to use MQTT serializer
and deserializer APIs without use of taskpool and network abstraction.
The API does no allocate any dynamic memory, therefore application can
make use of statically allocated memory. Application can implement its
own state machine and make use of any network interface like sockets
to handle MQTT messages.
* feature: Lightweight serializer API for MQTT.
MQTT serializer API changes to support lightweight single threaded app.
CSDK MQTT Library provides stateful MQTT API that makes use of taskpool
and network abstraction. The library makes use dynamic memory
allocations and makes use of multiple threads or tasks.
Embedded applications running on microcontroller may want to
use single threaded model to run MQTT.
The API changes enable application developers to use MQTT serializer
and deserializer APIs without use of taskpool and network abstraction.
The API does no allocate any dynamic memory, therefore application can
make use of statically allocated memory. Application can implement its
own state machine and make use of any network interface like sockets
to handle MQTT messages.
* Update MQTT system tests for connection retry.
- In Amazon FreeRTOS the number of retries is set to 3.
- In the CSDK the number of retries is the default of 1,
since there are no failures in these tests' connections.
- Update doxygen for new test config IOT_TEST_MQTT_CONNECT_RETRY_COUNT