aboutsummaryrefslogtreecommitdiff
path: root/doc/source/streaming.rst
diff options
context:
space:
mode:
Diffstat (limited to 'doc/source/streaming.rst')
-rw-r--r--doc/source/streaming.rst13
1 files changed, 13 insertions, 0 deletions
diff --git a/doc/source/streaming.rst b/doc/source/streaming.rst
new file mode 100644
index 000000000000..8e3bb0d9bade
--- /dev/null
+++ b/doc/source/streaming.rst
@@ -0,0 +1,13 @@
+Streaming & indefinite items
+=============================
+
+CBOR :doc:`strings <api/type_2>`, :doc:`byte strings <api/type_3>`, :doc:`arrays <api/type_4>`, and :doc:`maps <api/type_5>` can be encoded as *indefinite*, meaning their length or size is not specified. Instead, they are divided into *chunks* (:doc:`strings <api/type_2>`, :doc:`byte strings <api/type_3>`), or explicitly terminated (:doc:`arrays <api/type_4>`, :doc:`maps <api/type_5>`).
+
+This is one of the most important (and due to poor implementations, underutilized) features of CBOR. It enables low-overhead streaming just about anywhere without dealing with channels or pub/sub mechanism. It is, however, important to recognize that CBOR streaming is not a substitute for Websockets [#]_ and similar technologies.
+
+.. [#] :RFC:`6455`
+
+.. toctree::
+
+ streaming/decoding
+ streaming/encoding