build/revdial
Brad Fitzpatrick 4f0f4bb614 revdial/v2: add new simpler, non-multiplexing revdial implementation
The old revdial has a simple multiplexing protocol that was like
HTTP/2 but without flow control, etc. But it was too simple (no flow
control) and too complex. Instead, just use one TCP connection per
reverse dialed connection. For now, the NAT'ed machine needs to go
re-connect for each incoming connection, but in practice that's just
once.

The old implementation is retained for now until all the buildlets are
updated.

Updates golang/go#31639

Change-Id: Id94c98d2949e695b677531b1221a827573543085
Reviewed-on: https://go-review.googlesource.com/c/build/+/174082
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
2019-04-29 17:41:24 +00:00
..
v2 revdial/v2: add new simpler, non-multiplexing revdial implementation 2019-04-29 17:41:24 +00:00
README.md all: add README.md files where missing, and tool to keep them updated 2017-08-02 22:17:52 +00:00
revdial.go cmd/coordinator, cmd/buildlet, cmd/gomote: add SSH support 2017-07-28 18:21:11 +00:00
revdial_test.go cmd/coordinator, cmd/buildlet, cmd/gomote: add SSH support 2017-07-28 18:21:11 +00:00

README.md

GoDoc

golang.org/x/build/revdial

Package revdial implements a Dialer and Listener which work together to turn an accepted connection (for instance, a Hijacked HTTP request) into a Dialer which can then create net.Conns connecting back to the original dialer, which then gets a net.Listener accepting those conns.