Overview of NanoSDK C Client Library
mainNanoSDK is an open-source C client library for the MQTT protocol, built as a wrapper around the NNG (nanomsg-NNG) framework. It extends NNG by adding significant capabilities for MQTT (3.1.1 and 5.0) and QUIC while maintaining compatibility with original Scalability Protocols (SP).
Key features include:
- Fully Asynchronous I/O: Uses an Actor-like programming model in C to distribute computation across multiple CPU cores.
- High Throughput & Low Latency: Optimized for high-performance MQTT workloads, including asynchronous Ack capability for QoS 1/2 messages to prevent message congestion.
- Portability: Relies on native POSIX standard APIs, making it highly portable across various Linux distributions and hardware platforms.
- Flexible API Styles: Supports both the advanced NNG asynchronous/context-based programming model and a traditional callback registration mechanism (similar to Paho or Mosquitto) for easier adoption.