1 unstable release
0.2.1 | Aug 19, 2020 |
---|
#18 in #srt
255KB
5.5K
SLoC
srt-rs
OS | Status |
---|---|
Linux | |
macOS | |
Windows |
NOTE: THIS IS NOT PRODUCTION READY.
Pure rust implementation of SRT (Secure Reliable Transport), without unsafe code.
Reference implementation is available at https://github.com/haivision/srt
Features
- Fast (heap allocations are rare, uses async IO)
- Full safety garuntees of rust
What works
- Listen server connecting
- Client (connect) connecting
- Rendezvous connecting
- Receiving
- Sending
- Special SRT packets (partial)
- Actual SRT (TSBPD)
- Timestamp drift recovery
- Encryption
- Bidirectional
Thread Efficiency
The reference implementation of SRT requires 3 threads per sender and 5 threads per receiver.
With srt-rs, you can assign as many connections to exactly as many threads as you want (usually as many as you have cores) using tokio's futures scheduling. This should allow for handing of many more connectinos.
Dependencies
~7.5MB
~135K SLoC