A streaming rpc system for iroh
See the module docs.
| Feature | Default | Description |
|---|---|---|
rpc |
yes | Remote transport over noq. Without it, irpc only has in-process channels. |
iroh |
yes | Remote transport over iroh. Enables rpc. |
spans |
yes | Messages store the current tracing span in WithChannels::span. |
stream |
yes | Convert channels to Stream and Sink. |
derive |
yes | The rpc_requests macro. |
noq_endpoint_setup |
no | Helpers to create noq endpoints, for tests and for rpc on localhost. |
varint-util |
no | Varint helpers in irpc::util, without rpc. |
tracing-subscriber-03 |
no | Span propagation to the remote, with a layer for tracing-subscriber 0.3. irpc-opentelemetry enables it. |
Properly building docs for this crate is quite complex. For all the gory details, see [DOCS.md].
Run cargo make format before committing, it will run cargo fmt with the arguments expected by this project.
Copyright 2026 N0, INC.
This project is licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this project by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.