Myra Transport Quickstart
Early Development Notice
All MVP.Express projects are currently in active development (pre-1.0.0) and should not be used in production environments. APIs may change without notice, and breaking changes are expected until each project reaches version 1.0.0. We welcome early adopters and contributors, but please use at your own risk.
Build ultra-low-latency network services with io_uring.
Prerequisites
- Java 24+ with preview features enabled
- Linux kernel 5.19+ (for io_uring)
- Gradle 8.5+ or Maven 3.9+
Installation
Add to your build.gradle.kts:
dependencies {
implementation("express.mvp.myra:myra-transport:0.2.1")
}
Quick Server Example
;
Quick Client Example
;
Configuration Options
| Option | Default | Description |
|---|---|---|
ringSize | 256 | io_uring submission queue size |
bufferSize | 4096 | Per-connection receive buffer |
maxConnections | 10000 | Maximum concurrent connections |
sqPoll | false | Enable kernel-side SQ polling |
registerBuffers | true | Pre-register buffers with kernel |
Performance Tips
- Tune ring size: Larger rings reduce syscalls under load
- Enable SQ polling: For sub-microsecond latency (requires CAP_SYS_NICE)
- Pre-allocate buffers: Use the memory pool to avoid allocation during I/O
JVM Arguments
Next Steps
- User Guide - Advanced configuration
- API Reference - Complete API docs
- Benchmarks - Performance vs NIO