<p dir="ltr" style="margin-top:0; margin-bottom:0;">QUIC :</p>
<p dir="ltr" style="margin-top:0; margin-bottom:0;">"To solve this problem, QUIC includes a connection identifier which uniquely identifies the connection to the server regardless of source. This allows the connection to be re-established simply by sending a packet, which always contains this ID, as the original connection ID will still be valid even if the user's IP address changes."</p>
<br>
<p dir="ltr" style="margin-top:0; margin-bottom:0;">Wow... Nice security issues in perspective! </p>
<br>
<br>
<p dir="ltr" style="margin-top:0; margin-bottom:0;">Envoyé depuis mon mobile </p><br><br>---- Loïc Hoguin a écrit ----<br><br>On 22/11/2019 21:03, Dave Cottlehuber wrote:<br><br>>> On 21/11/2019 17:22, Lukas Larsson wrote:<br><br>>>> One of the use-cases (besides the obvious HTTP/3 use-case) that we have<br><br>>>> been thinking about would be to allow the Erlang distribution to run<br><br>>>> over QUIC.<br><br>> <br><br>> Had you considered something like nng instead of HTTP/3 for this?<br><br><br><br>You mean QUIC, no need for HTTP/3 for the distribution.<br><br><br><br>> - already available[1]<br><br>> - much much simpler than HTTP/3/QUIC (I would hate to count the lines of code)<br><br>> - the survey pattern[2] looks ideal for maintaining heartbeats<br><br>> <br><br>> I've fiddled with enm[3] <a href="https://github.com/basho/enm">https://github.com/basho/enm</a> which is wire compatible,<br><br>> and it's very fast indeed.<br><br>> <br><br>> [1]: <a href="https://github.com/nanomsg/nng">https://github.com/nanomsg/nng</a><br><br>> [2]: <a href="https://nanomsg.org/gettingstarted/nng/survey.html">https://nanomsg.org/gettingstarted/nng/survey.html</a><br><br>> [3]: <a href="https://github.com/basho/enm">https://github.com/basho/enm</a><br><br><br><br> From what I understand it's still built on top of TCP. The main <br><br>advantage of QUIC is that you can map messages onto different streams. <br><br>Each stream's messages are ordered but the whole connection is not. <br><br>Streams don't block each other. Different streams may have different <br><br>priorities (we could have a process_flag that indicates this for very <br><br>important processes and the distribution driver would send their <br><br>messages before others).<br><br><br><br>Cheers,<br><br><br><br>-- <br><br>Loïc Hoguin<br><br><a href="https://ninenines.eu">https://ninenines.eu</a><br><br>