nanomsg / nng

nanomsg-next-generation -- light-weight brokerless messaging
https://nng.nanomsg.org
MIT License
3.85k stars 491 forks source link

Investigate QUIC transport #230

Open gdamore opened 6 years ago

gdamore commented 6 years ago

A QUIC transport has been written for mangos (though not integrated yet) -- we should look at this for nng. It may be even more useful than KCP.

bradjonesca commented 6 years ago

FYI: https://github.com/h2o/quicly

gdamore commented 6 years ago

Interesting. Too bad it depends on openssl but maybe I can convert it to use our aio and ssl framework. On Thu, Feb 15, 2018 at 2:18 PM Brad Jones notifications@github.com wrote:

FYI: https://github.com/h2o/quicly

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/nanomsg/nng/issues/230#issuecomment-366080420, or mute the thread https://github.com/notifications/unsubscribe-auth/ABPDffQhrcAHSlKBzyPes4KLvkdo2XcFks5tVK0WgaJpZM4R55GC .

gdamore commented 6 years ago

The QUIC transport that was written for mangos has some issues that should be addressed, so I don't think I'm ready to write one for NNG yet, until the issues with that other one are sorted out. (Specifically there are some opportunities to improve the protocol to eliminate a round trip, and I have concerns about the way it multiplexes streams based on a string.)

BillBarnhill commented 4 years ago

I'm interested in a good messaging protocol over QUIC (possibly looking at Facebook's https://github.com/facebookincubator/mvfst). Has there been any change in the issues @gdamore noted above, or any further work on Nanomsg over QUIC?

gdamore commented 4 years ago

I haven't had a chance to look at this recently -- but the mvfst project seems to hold some promise. I wish it were in C, but we can probably ignore that and link to it directly. (C++ tends to give the linker fits and greatly slows down the build, in my experience.)

In terms of the mangos port, that's probably something I need to revisit as well. I've been working on mangos stuff recently trying to knock out a bunch of bugs and improve the overall test coverage.

Right now I'm not getting paid for work on NNG, so it has reverted to "as I have time" status, in favor of work that pays the bills.