Expand description
§IronSBE
High-performance SBE (Simple Binary Encoding) server/client for Rust.
IronSBE provides a complete implementation of the FIX Simple Binary Encoding protocol optimized for low-latency financial systems.
§Features
- Zero-copy encoding/decoding - Direct buffer access for minimal overhead
- Schema-driven code generation - Generate Rust code from FIX SBE XML schemas
- Sub-microsecond latency - Optimized for high-frequency trading
- Flexible transport - TCP, UDP multicast, and shared memory IPC
- Market data patterns - Order book management, gap recovery, A/B arbitration
§Quick Start
ⓘ
use ironsbe::prelude::*;
// Create a server
let (mut server, handle) = ServerBuilder::new()
.bind("0.0.0.0:9000".parse().unwrap())
.handler(MyHandler)
.build();
// Run the server
server.run().await?;§Crate Organization
core- Buffer traits, headers, encoder/decoder traitsschema- XML schema parsing and validationcodegen- Rust code generation from schemaschannel- High-performance channels (SPSC, MPSC, broadcast)transport- Network transports (TCP, UDP, IPC)server- Server-side engineclient- Client-side enginemarketdata- Market data handling patterns
Modules§
- broadcast
- Broadcast channel for one-to-many messaging.
- channel
- High-performance channel implementations.
- client
- Client-side engine.
- codegen
- Code generation from SBE schemas.
- core
- Core types and traits for SBE encoding/decoding.
- marketdata
- Market data handling patterns.
- mpsc
- MPSC (Multi-Producer Single-Consumer) channel.
- prelude
- Prelude module for convenient imports.
- schema
- Schema parsing and validation.
- server
- Server-side engine.
- spsc
- Ultra-low-latency SPSC (Single-Producer Single-Consumer) channel.
- transport
- Network transport layer.
Structs§
- Aligned
Buffer - Cache-line aligned buffer for optimal CPU cache performance.
- Buffer
Pool - Pool of reusable aligned buffers to avoid allocation overhead.
- Client
Builder - Builder for configuring and creating a client.
- Client
Handle - Handle for sending messages and receiving events.
- Group
Header - Repeating group header (4 bytes).
- Message
Header - Standard SBE message header (8 bytes).
- Server
Builder - Builder for configuring and creating a server.
- Server
Handle - Handle for controlling the server from outside.
- VarData
Header - Variable-length data header.
Enums§
- Decode
Error - Error type for decoding operations.
Traits§
- Read
Buffer - Trait for read-only buffer access with optimized primitive reads.
- SbeDecoder
- Trait for zero-copy SBE message decoders.
- SbeEncoder
- Trait for SBE message encoders.
- Write
Buffer - Trait for read-write buffer access with optimized primitive writes.