pw_channel#

Async, zero-copy API for sending and receiving bytes or datagrams

Experimental C++

pw_channel provides features that are essential for efficient, high-performance communications. The Channel API is:

  • Flow-control-aware: Built-in backpressure ensures that data is only requested when consumers are able to buffer and handle it.

  • Zero-copy: Data transfers seamlessly throughout the stack without copying between intermediate buffers or memory pools.

  • Composable: Layers of the communications stack are swappable, allowing more code reuse and configurability.

  • Asynchronous: No need for dedicated threads or nested callbacks.

Not sure if pw_channel is right for you? Check out Why pw_channel to learn how pw_channel handles flow control, backpressure, composability, and more.

Design

How pw_channel handles:

  • Flow control

  • Backpressure

  • Composability

  • Asynchronous operations

And more.

Reference

API reference for:

  • Channel

  • AnyChannel

  • ByteChannel

  • DatagramChannel

And more.