Open kaetemi opened 4 years ago
Prioritized since Ryzom Forge team is interested in speeding up string transfer.
Plan is to keep the existing UDP packet format, and send that over QUIC as unreliable datagram instead.
Then flag any messages (IOS mainly) which can be sent out-of-band to be sent directly over the QUIC reliable stream.
Can implement this without breaking compatibility. Use the same trick as SBS, run the service on a port offset of 2000 -5000
.
Only the msg.xml changes to flag which messages can go over secondary streams will need to be shifted to 5.0, so the checksum is not broken.
QUIC connection datagram support is implemented and working for testing purposes on development targets. Next step is to support additional streams for the larger impulse data (mainly from IOS and DSS).
The client/server protocol mainly consists of lossy position updates and lossless event impulses. Currently these are sent over a fixed rate UDP-based protocol.
QUIC would simplify sending the event impulses in a separate stream, decreasing latency and increasing bandwidth (both for the impulse events, and freeing up bandwidth in the position update packets.) It'd also enhance connection recovery.