Expand description
RustySBE - High-performance Simple Binary Encoding (SBE) for Rust
This crate provides zero-copy, high-performance SBE encoding and decoding capabilities optimized for financial trading systems and other low-latency applications.
§Features
- Zero-copy decoding - Read directly from network buffers
- SIMD-aligned buffers - Optimized memory access patterns
- Type-safe message handling - Compile-time message validation
- Group iteration - Efficient handling of repeating groups
- Variable-length data - Support for varchar fields
- High performance - Minimal allocations and overhead
§Example
ⓘ
use rustysbe::{SbeDecoder, SbeEncoder, SbeMessage};
// Encode a message
let mut encoder = SbeEncoder::new(1, 0, 64);
encoder.write_u64(0, 12345)?;
encoder.write_string(8, 16, "BTCUSDT")?;
let message = encoder.finalize()?;
// Decode the message
let decoder = SbeDecoder::new(&message)?;
let value = decoder.read_u64(0)?;
let symbol = decoder.read_string(8, 16)?;Re-exports§
pub use buffer::SbeBuffer;pub use buffer::SbeReader;pub use decoder::SbeDecoder;pub use decoder::SbeGroupElement;pub use decoder::SbeGroupIterator;pub use decoder::SbeHeader;pub use decoder::SbeVariableData;pub use encoder::GroupElementEncoder;pub use encoder::GroupEncoderBuilder;pub use encoder::SbeEncoder;pub use error::SbeError;pub use error::SbeResult;pub use message::SbeMessage;pub use message::SbeMessageDecoder;pub use message::SbeMessageEncoder;pub use message::SbeMessageHeader;pub use message::SbeMessageMetadata;pub use message::SbeMessageRegistry;
Modules§
- buffer
- High-performance buffer management for SBE operations
- codegen
- SBE schema representation and code generation.
- decoder
- Zero-copy SBE message decoder
- encoder
- High-performance SBE message encoder
- error
- Error types for SBE operations
- generated
- Generated SBE message types from schema
- message
- Common traits and utilities for SBE messages
- prelude
- Prelude module for convenient imports
Constants§
- SBE_
VERSION - SBE specification version supported
- VERSION
- Library version information