icza / gowut

Go Web UI Toolkit - Public Releases and Development
GNU General Public License v3.0
300 stars 35 forks source link

QUIC support for lower network latency #25

Open udhos opened 8 years ago

udhos commented 8 years ago

Since network latency is a real obstacle for gowut responsiveness, how about adding support for QUIC protocol?

https://github.com/lucas-clemente/quic-go

Would it be very hard to include feature?

icza commented 8 years ago

Estimation (of effort) requires investigation.

gnewton commented 8 years ago

Or would gRPC be a better choice? (Don't know) http://www.grpc.io/

udhos commented 8 years ago

gRPC is based on HTTP2.

QUIC could reduce network latency:

Key features of QUIC over existing TCP+TLS+HTTP2 include

https://www.chromium.org/quic

tgulacsi commented 7 years ago

You can already try out QUIC:

    import "github.com/lucas-clemente/quic-go/h2quic"
...
    go server.Start("")
    return h2quic.ListenAndServeQUIC(addr, tlsCert, tlsKey, nil)

You need server.Start atm as that's the one that registers the proper handlers on http.DefaultServeMux. Maybe a gwu.RegisterMux(*http.ServeMux) could help composition, but this should work, too.