util/ipc: address review feedback, split roles, add AsyncTransaction Splits IpcChannel into IpcInitiator/IpcHandler so a type only implements the operations its channel role can serve. Drops the host.rs stub (crate is now target-only, matching services/i2c/client-ipc and services/mctp/client-ipc) instead of shipping dead panic methods and a drifting copy of buffer.rs. Adds AsyncTransaction<H: IpcInitiator>, a safe layer over the unsafe async trio that tracks the one-transaction-per-channel invariant locally and cancels on Drop, converging with the design in #482 instead of shipping both. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
The OpenPRoT Technical Charter can be found at https://github.com/OpenPRoT/.github/blob/main/GOVERNANCE.md
NOTE: We are converting our build system to bazel. We recommend installing bazelisk to automatically manage bazel versions.
You can run tasks using the Pigweed workflow launcher pw or bazel.
./pw presubmit - Run presubmit checks: formatting, license checks, C/C++ header checks and clippy../pw format - Run the code formatters.bazel test //... - Run all tests.bazel build //docs - Build documentation.The project is structured as a bazel module.
No additional tools are required - all dependencies are managed by bazel.