# lowlet
Low-latency inter-process communication library for Rust.
## Features
- Shared memory regions with automatic cleanup
- Lock-free SPSC queue and MPMC ring buffer
- Inline assembly memory fences and atomics (x86_64)
- TTAS spinlock with pause instruction
- Process synchronization barrier
- Batch send/receive operations
- Timeout-based operations
- Channel statistics and metrics
## Installation
```toml
[dependencies]
lowlet = "0.1"
```
## Quick Start
```rust
use lowlet::channel;
fn main() {
let (tx, rx) = channel::<u64, 1024>();
tx.send(42).unwrap();
let value = rx.recv().unwrap();
assert_eq!(value, 42);
}
```
## New in 0.1.1
- **Batch Operations**: Send/receive multiple items at once
- **Timeout Support**: Timeout-based send/recv operations
- **Metrics**: Built-in channel statistics tracking
- **Improved Tests**: 19+ comprehensive tests
- **CI/CD**: Automated testing on GitHub and Codeberg
## Documentation
- [API Reference](docs/api/README.md)
- [Guides](docs/guides/README.md)
- [Examples](docs/examples/)
## Performance
- ~61 cycles per send/recv operation
- ~20ns latency at 3GHz
- Zero-copy message passing
- Lock-free algorithms
## License
MIT OR Apache-2.0