Skip to main content

Introduction

image banner image banner

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.