This document introduces the Paho-C MQTT client API for OpenVMS Alpha and Integrity, based on the Paho-C 1.3.0 distribution.
Key Features and Purpose:
- MQTT Protocol: It's a fully-featured, lightweight publish-subscribe protocol over TCP/IP, suitable for remote connections, low bandwidth, small code footprints, and mobile applications (e.g., sensors, home automation, healthcare providers).
- API Variants: Offers both synchronous (blocking I/O) and asynchronous (non-blocking with callbacks, using POSIX threads on OpenVMS) APIs.
- Full Functionality: Includes all features of the open-source Paho-C release, notably comprehensive SSL/TLS support (statically linked with OpenSSL 1.1.1g).
- Bug Fix: This release specifically addresses a bug causing network write operation failures with high
maxInflightMessages values.
System Requirements:
- OpenVMS 8.4-1H1 or later.
- VSI TCP/IP, HPE TCP/IP Services, or MultiNet TCP/IP stack.
- VSI C V7.4-001 or a comparable C compiler.
Installation and Usage:
- Distributed as an OpenVMS PCSI kit.
- Requires post-installation steps to add startup/shutdown commands to
SYSTARTUP_VMS.COM to define system-wide logical names for development.
- Logical names are provided for different library configurations (synchronous/asynchronous, with/without TLS/SSL support).
- Sample applications are included, with notes on linking for TLS/SSL.
- Most applications do not require special privileges, but
SYSPRV, BYPASS, or OPER are needed for applications using privileged ports (below 1024).
Future Development:
- Future releases may introduce OpenVMS-specific functionality and abstraction layers to simplify use from other languages like COBOL, FORTRAN, and BASIC.