3 ms·
I referred to sockets as an API design, not to express an opinion on whether you should place your protocol implementations inside or outside the kernel. (Altho
by mananaysiempre 4y ago
I referred to sockets as an API design, not to express an opinion on whether you should place your protocol implementations inside or outside the kernel. (Although that’s undeniably an interesting question that by all rights should have been settled by now, but isn’t.)
Even then, I didn’t mean you should reproduce the Berkeley socket API verbatim (ZeroMQ-style); multiple streams per connection does not sound like a particularly good fit to it (although apparently people have managed to cram SCTP in there[1]?). I only meant that with the current mainstream libraries[2,3,4], establishing a QUIC connection and transmitting bytestreams or datagrams over it seems quite a bit more involved than performing the equivalent TCP actions using sockets.
[1] https://datatracker.ietf.org/doc/html/rfc6458 https://datatracker.ietf.org/doc/html/rfc6458
[2] https://quiche.googlesource.com/quiche https://quiche.googlesource.com/quiche
[3] https://github.com/microsoft/msquic https://github.com/microsoft/msquic
[4] https://github.com/litespeedtech/lsquic https://github.com/litespeedtech/lsquic