Feature Request: Quic transport protocol as an option
Just wondering if Quic has been in discussion outside of the repo for SpacetimeDB; if so, are there any plans on adding it as a feature option, or was there a decision to exclude it as an option?
We've discussed adding support for other networking protocols, but it hasn't been a priority so far. Can you share more about why it would be impactful for you?
I plan to build my own project using SpacetimeDB very soon, regardless of Quic's or other protocols' implementation into SpacetimeDB, and I believe these may be the biggest impact for what I'm hoping to accomplish on the network level, and what I think may benefit SpacetimDB as a whole.
- Secure by default
- By requiring a TLS handshake to occur during initial connection between peers (i.e player -> server), a secure connection is able to manifest sooner than waiting for TCP + TLS.
- IIRC Quic also encrypts packet headers, along with a few other features that make manipulating in transit data more difficult beyond just encrypting the data inside a packet.
- Multiplexing built in
- This may pair well with one of SpacetimeDB's advertised features of handling many connections at the same time, however, I'm open to the counter point of any performance gains from built in multiplexing in Quic being negligible, compared to well made multiplexing strategies for TCP connections.
Please do correct any of my statements here, I'm still new to networking protocols, and am mostly referring to publicly advertised features of Quic that are enticing to me.
Thanks for the info! I'll forward it along to the members of our team that are more involved with the networking layer. If any of these become blocking requirements for you, please let us know!
Something that is also nice is that QUIC has built in support for unreliable datagrams, letting you make fast paced action games if you wish