Add Record Marking Standard (RFC 5531) documentation to XDR page#2244
Add Record Marking Standard (RFC 5531) documentation to XDR page#2244leighmcculloch wants to merge 8 commits intomainfrom
Conversation
Document the framing format used when multiple XDR objects are stored sequentially, referencing RFC 5531 Section 11 and noting Stellar's specific usage in history archives and the Rust XDR library.
Added information on decoding XDR with stellar-cli.
There was a problem hiding this comment.
Pull request overview
Adds missing documentation for the Record Marking Standard (RFC 5531 §11) to the XDR fundamentals page, so developers parsing Stellar history archives / streams have an in-doc explanation of the framing layer wrapped around XDR objects.
Changes:
- Introduces a new “Record Marking / Frames in Streams” section describing fragment headers (last-fragment bit + length) and big-endian encoding.
- Documents current Stellar usage (single-fragment records) and where this framing appears (history archives, LedgerCloseMeta streaming).
- Adds an RFC 5531 §11 reference link.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
|
Something went wrong with PR preview build please check |
|
Preview is available here: |
5 similar comments
|
Preview is available here: |
|
Preview is available here: |
|
Preview is available here: |
|
Preview is available here: |
|
Preview is available here: |
|
Preview is available here: |
What
Add a "Record Marking" section to the XDR fundamentals page (
docs/learn/fundamentals/data-format/xdr.mdx). The new section documents the fragment-based framing format defined in RFC 5531 Section 11, including the 4-byte header layout (last-fragment bit and 30-bit length), and notes where Stellar uses this framing: history archive bucket/checkpoint files in stellar-core and theFrametype in rs-stellar-xdr.Why
The XDR docs page explains what XDR is and how to parse it, but omits the record marking layer that wraps XDR objects in files and streams. Developers working with history archives or the Rust XDR library encounter this framing without any reference in the Stellar documentation. Adding this section closes the gap and gives a direct pointer to the RFC.
Related