xRPC-rs
Fast RPC library for Rust with multiple transport implementations.
This library provides efficient message passing with various transports including in-process channels, shared memory for IPC, and planned support for network transports (TCP, etc.). While currently focused on local communication, the architecture is designed to support both local and remote RPC scenarios.
Status: Very early prototype - It is working but not production-ready.
Documentation
- Message Protocol - Binary message format specification
Future Plans
Completed
- Add support for streaming & compression on message
- Transport layer abstraction
- Local Channel Transport implementation
- SharedMemory Transport implementation
- Heartbeat abstraction for transport reliability
- RawTransport (skip Message protocol overhead)
- ArcTransport (Arc-based, no serialization)
Refactoring Tasks
- Module reorganization: Split
protocol.rsintomessagemodule. - Codec trait abstraction: Decouple serialization format:
- support bincode, JSON (for debugging), MsgPack (for network?), etc.
- Relocate
TypedChannel
Planned Features
- Advanced network transports (TCP, etc.)
- Documentation for Transports & Examples
License
This project is licensed under the MIT License - see the LICENSE file for details.