Annotation of embedaddon/curl/docs/MQTT.md, revision 1.1
1.1 ! misho 1: # MQTT in curl
! 2:
! 3: ## Experimental!
! 4:
! 5: MQTT support in curl is considered **EXPERIMENTAL** until further notice. It
! 6: needs to be enabled at build-time. See below.
! 7:
! 8: After the initial merge, further development and tweaking of the MQTT support
! 9: in curl will happen in the master branch using pull-requests, just like
! 10: ordinary changes.
! 11:
! 12: Experimental support for MQTT means that we **do not guarantee** that the
! 13: current protocol functionality will remain or remain this way going forward.
! 14: There are no API or ABI promises for experimental features as for regular curl
! 15: features.
! 16:
! 17: Do not ship anything with this enabled.
! 18:
! 19: ## Build
! 20:
! 21: ./configure --enable-mqtt
! 22:
! 23: ## Usage
! 24:
! 25: A plain "GET" subscribes to the topic and prints all published messages.
! 26: Doing a "POST" publishes the post data to the topic and exits.
! 27:
! 28: Example subscribe:
! 29:
! 30: curl mqtt://host/home/bedroom/temp
! 31:
! 32: Example publish:
! 33:
! 34: curl -d 75 mqtt://host/home/bedroom/dimmer
! 35:
! 36: ## What does curl deliver as a response to a subscribe
! 37:
! 38: It outputs two bytes topic length (MSB | LSB), the topic followed by the
! 39: payload.
! 40:
! 41: ## Caveats
! 42:
! 43: Remaining limitations:
! 44: - No username support
! 45: - Only QoS level 0 is implemented for publish
! 46: - No way to set retain flag for publish
! 47: - No username/password support
! 48: - No TLS (mqtts) support
! 49: - Naive EAGAIN handling won't handle split messages
! 50:
! 51: ## Work
! 52:
! 53: 1. Write a mqtt server for the test suite
! 54: 2. Create a few tests verifying the existing mqtt functionality
! 55: 3. Work on fixing some of the worst limitations - with accompanying tests
! 56: 4. Consider replacing the client-side MQTT code with wolfMQTT
! 57:
! 58: ## Credits
! 59:
! 60: The initial MQTT patch was authored by Björn Stenberg. This work is built upon
! 61: that patch and has been expanded since.
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>