Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

QUIC support for lower network latency #25

Open
udhos opened this issue Sep 24, 2016 · 4 comments
Open

QUIC support for lower network latency #25

udhos opened this issue Sep 24, 2016 · 4 comments

Comments

@udhos
Copy link

udhos commented Sep 24, 2016

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
Copy link
Owner

icza commented Sep 26, 2016

Estimation (of effort) requires investigation.

@gnewton
Copy link

gnewton commented Sep 26, 2016

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

@udhos
Copy link
Author

udhos commented Sep 26, 2016

gRPC is based on HTTP2.

QUIC could reduce network latency:

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

  • Dramatically reduced connection establishment time
  • Improved congestion control
  • Multiplexing without head of line blocking
  • Forward error correction
  • Connection migration

https://www.chromium.org/quic

@tgulacsi
Copy link

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants