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>