quic_dist is QUIC carrier for Erlang Distribution Protocol i.e. it allows you to use QUIC for connecting your Erlang/Elixir nodes.
Can you maybe (either here or in README - or both) explain to us what this is all about and why would you want to use it? Generally I find it useful, and is probably helpful for adoption if indeed it is useful for people.
In this case I have vague idea of existence of QUIC protocol, but many probably don’t even know as much, and how does switching to it help (and in which cases) from TCP/IP when setting up Erlang clusters I can suspect only based on my vague understanding of QUIC…
Here is how I see
- QUIC is a secure protocol, there is no way to send unecrypted data with it, at least there wasn’t when I checked last time. This means that we should compare
quic_distwith TCP + TLS at first.
- QUIC allows for both relabile and unreliable transfers. Long term goal is to allow user to choose how to send message. Unrelaible datagrams could be benefitial e.g. in multimedia severs
- connection establishment time between nodes that use QUIC instead of TCP + TLS should be shorter. This will matter only in scenario where for some reason nodes connects and disconnects continously.
- it might be worth checking and compering QUIC congestion control and flow control mechanisms with TCP + TLS. Also, ACK mechanism is wort looking at.
A lot of questions here, I need to do experiments
There are a few threads about it on Devtalk as well if anyone’s interested, including a blog post by an Elixir user: