Introduction
Courier is a library for creating long running connections using MQTT which is the industry standard for IoT Messaging. Long running connection is a persistent connection established between client & server for bi-directional communication. A long running connection is maintained for as long as possible with the help of keepalive packets for instant updates. This also saves battery and data on mobile devices.
Features
Quality of Service
- Supports three QoS delivery levels: 0 (atmost once), 1 (atleast once) and 2 (exactly once)
Clean API
- Provides clean API for connect / disconnect, subscribe / unsubscribe and publish / receive functionalities
Automatic Reconnect
- Automatically reconnects in case of network or other unexpected failures
Observability
- Provides events for tracking end-to-end delivery
Flexible Encoder/Decoder support
- Converts message payload to and from any custom message type
Open Source
- Open-source client libraries for GoLang, Android & iOS
Contribution Guidelines
Read our contribution guide to learn about our development process, how to propose bugfixes and improvements, and how to build and test your changes to Courier iOS library.
License
All Courier modules except MQTTClientGJ are MIT Licensed. MQTTClientGJ is Eclipse Licensed.