pw_grpc: Implement per stream send queues and make sending non-blocking This CL adds support for queueing data if a stream or connection has no available send window. Previously we would drop data in this case. It also makes the send queue non-blocking and write-coalescing using MultiBuf to reserve prefix space for headers and write the whole buffer to outgoing stream in one Write call. Bug: 382294674 Change-Id: Id57e6af6a3e5d490bbe9933c44534be6c042390a Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/249952 Docs-Not-Needed: Austin Foxley <afoxley@google.com> Lint: Lint 🤖 <android-build-ayeaye@system.gserviceaccount.com> Pigweed-Auto-Submit: Austin Foxley <afoxley@google.com> Presubmit-Verified: CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Eli Lipsitz <elipsitz@google.com> Commit-Queue: Auto-Submit <auto-submit@pigweed-service-accounts.iam.gserviceaccount.com>
Pigweed is an open source collection of embedded-targeted libraries–or as we like to call them, modules. These modules are building blocks and infrastructure that enable faster and more reliable development on small-footprint MMU-less 32-bit microcontrollers like the STMicroelectronics STM32L452 or the Nordic nRF52832.
For more information please see our website: https://pigweed.dev/.