In AWS IoT, a stream is a publicly addressable resource that is an abstraction for a list of files that can be transferred to an IoT device. Using MQTT file streams library, files from a stream can be transfer to an IoT device. The file is transferred using MQTT protocol. It supports both JSON and CBOR format to send requests and receive data.
More information about streams and MQTT based file delivery can be found here
The MQTT streams library depend on the following two libraries for encoding/decoding GetStream Request and Data blocks.
- tinyCBOR
- coreJSON
The mqttFileDownloaderFilePaths.cmake file contains the information of all source files and the header include path required to build this library.
- For running unit tests
- C90 compiler like gcc
- CMake 3.13.0 or later
- Ruby 2.0.0 or later is additionally required for the Unity test framework (that we use).
- For running the coverage target, gcov is additionally required.
-
Go to the root directory of this repository.
-
Create build directory:
mkdir build && cd build
-
Run cmake while inside build directory:
cmake -S ../test
-
Run this command to build the library and unit tests:
make all
-
The generated test executables will be present in
build/bin/tests
folder. -
Run
ctest
to execute all tests and view the test run summary.
To learn more about CBMC and proofs specifically, review the training material here.
The test/cbmc
directory contains CBMC proofs.
In order to run these proofs you will need to install CBMC and other tools by following the instructions here.
See CONTRIBUTING.md for information on contributing.
See SECURITY for more information.
This library is licensed under the MIT Open Source License.