1.. _module-pw_channel: 2 3========== 4pw_channel 5========== 6.. pigweed-module:: 7 :name: pw_channel 8 9 ``pw_channel`` provides features that are essential for efficient, 10 high-performance communications. The ``Channel`` API is: 11 12 - **Flow-control-aware**: Built-in backpressure ensures that data is only 13 requested when consumers are able to buffer and handle it. 14 - **Zero-copy**: Data transfers seamlessly throughout the stack without 15 copying between intermediate buffers or memory pools. 16 - **Composable**: Layers of the communications stack are swappable, allowing 17 more code reuse and configurability. 18 - **Asynchronous**: No need for dedicated threads or nested callbacks. 19 20Not sure if ``pw_channel`` is right for you? Check out 21:ref:`module-pw_channel-design-why` to learn how ``pw_channel`` handles 22flow control, backpressure, composability, and more. 23 24.. grid:: 2 25 26 .. grid-item-card:: :octicon:`code-square` Design 27 :link: module-pw_channel-design 28 :link-type: ref 29 :class-item: sales-pitch-cta-secondary 30 31 How pw_channel handles: 32 33 * Flow control 34 * Backpressure 35 * Composability 36 * Asynchronous operations 37 38 And more. 39 40 .. grid-item-card:: :octicon:`code-square` Reference 41 :link: module-pw_channel-reference 42 :link-type: ref 43 :class-item: sales-pitch-cta-secondary 44 45 API reference for: 46 47 * ``Channel`` 48 * ``AnyChannel`` 49 * ``ByteChannel`` 50 * ``DatagramChannel`` 51 52 And more. 53 54.. toctree:: 55 :hidden: 56 57 guides 58 design 59 reference 60