Are you an LLM? You can read better optimized documentation at /protocols/rpc.md for this page in Markdown format
RPC Layer
Authority: Navigation (Non-normative)
Purpose: Overview and navigation for RPC semantic layer.
RPC is a semantic layer carried inside SBP Message frames. It does not define framing, transport, or security—those are handled by SBP and the session layer (SBRP/SBDP).
Relationship to SBP
RPC envelopes are encoded in MessageFrame.data. Channel subjects determine envelope semantics: rpc for request/response, event for notifications. See envelope.md#subject-namespacing.
Delegation
This protocol delegates:
- Wire format: Inherits SBP frame structure (see sbp/wire-format.md)
- Ordering: Inherits SBP ordering guarantees (see sbp/behavior.md)
This protocol defines:
- Envelope format: See envelope.md
- Correlation: See behavior.md
- Subject namespacing: See envelope.md
- Error code range: Defines codes 1100-1199 for envelope errors.
Errors
RPC defines error codes in the 1100–1199 range. See envelope.md. It operates alongside:
- SBP protocol errors (1000–1099) — see sbp/errors.md
- Application errors (2000+) — defined per-method
See the canonical Error Code Registry for all assignments.
Documents
| Document | Status |
|---|---|
| envelope.md | Normative |
| behavior.md | Normative |
| conformance.md | Supporting |
| streams.md | Reserved |
Document Authority
| Concern | Primary | Supporting |
|---|---|---|
| Envelope structure | envelope.md | — |
| Request/response semantics | behavior.md | — |
| Correlation | behavior.md | — |
| Test specification | conformance.md | — |
Recommended Reading Order
- index.md (this document)
- envelope.md — wire format and validation
- behavior.md — semantics and timeouts
Related ADRs
- ADR-006: RPC envelope
- ADR-010: RPC correlation (cid)