Annotation of embedaddon/curl/docs/MQTT.md, revision 1.1.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>