FreeRTOS-Kernel/FreeRTOS-Plus/Demo/coreMQTT_Windows_Simulator
Oscar Michael Abrina 73b0d1b259
Support multiple transports in the same compilation unit (#434)
By removing the definition of the NetworkContext struct in the header file, we allow the application to define it. This allows an application writer to use multiple transports in the same compilation unit. That way, multiple .c files do not have to be created for each transport.
2020-12-01 17:24:18 -08:00
..
Common Support multiple transports in the same compilation unit (#434) 2020-12-01 17:24:18 -08:00
MQTT_Basic_TLS Support multiple transports in the same compilation unit (#434) 2020-12-01 17:24:18 -08:00
MQTT_Keep_Alive Support multiple transports in the same compilation unit (#434) 2020-12-01 17:24:18 -08:00
MQTT_Multitask Support multiple transports in the same compilation unit (#434) 2020-12-01 17:24:18 -08:00
MQTT_Mutual_Auth Support multiple transports in the same compilation unit (#434) 2020-12-01 17:24:18 -08:00
MQTT_Plain_Text Support multiple transports in the same compilation unit (#434) 2020-12-01 17:24:18 -08:00
MQTT_Serializer Bump backoffAlgorithm submodule for API change and update demos (#426) 2020-11-30 11:12:07 -08:00
readme.txt Multiple tidy up and corrections preparing for release (#390) 2020-11-09 14:50:33 -08:00
readme_coreMQTT.url Update urls in code to those on the server (#396) 2020-11-10 10:53:14 -08:00

The subdirectories of this directory contain multiple examples that demonstrate
coreMQTT using in both single and multi-threaded scenarios, as well as with
both plain text and authenticated and encrypted network interfaces.

The multi threaded example creates an MQTT agent (or daemon task).  It is thread
safe because only the agent task is allowed to access the coreMQTT API - hence
the API is only accessed from one FreeRTOS task.  Other tasks and interrupts
needing to interact with the MQTT agent do so through a thread safe queue.
We are generalising this technique for future coreMQTT releases, which will have
a re-usable agent component.

! Plain text examples are for ease of evaluation only - product devices should
! always use authenticated and encrypted communication.  Never send private or
! sensitive data on an unencrypted connection.