(Work in progress)
Features:
- No unsafe code
- All the downsides of UDP with the sluggishness of TCP
- Slow as a camel
- I'm not sure how it works
- Experimental
- Not safe against DOS attacks
Downsides:
- It works
This crate is meant be be akin to https://github.com/BonsaiDen/cobalt-rs
, in the sense that
it provides:
- Connection over UDP
- Guarantee that a message arrives at destination
- Extremely Low Latency
This crate was mainly made in mind for use cases where bandwidth is plentifull and low latency is of the utmost importance. Specifically, online multiplayer gaming.
- Keeps track of connection, handles timeouts (uses 2-way handshake)
- Automatic packet re-ordering
- Additional CRC32 check over IP packets, reducing chances of corrupted data to almost none
- Possibility to make sure a packet arrives at destination
- Not stream based
- You choose which packets should be discarded if it doesn't go through the first time:
- Key messages will make sure to go through with an Ack system
- Forgettable messages will be discarded if packet wasn't complete the first time
- (Planned) No network congestion handling
- (Planned) No test coverage
- (Planned) No optionnal SSL and/or other secure way to send data: everything is plaintext
- (Planned) No error correction codes of any kind (Hamming, ...)
- (May change in the future) Payloads are limited in size (around ~300KB)
- Untested against DOS attacks
- No
Future
s support. Will probably never have it.
MIT