You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tailscale/tstest/integration
Brad Fitzpatrick e8cc78b1af ipn/ipnserver: change Server to let LocalBackend be supplied async
This is step 1 of de-special-casing of Windows and letting the
LocalAPI HTTP server start serving immediately, even while the rest of
the world (notably the Engine and its TUN device) are being created,
which can take a few to dozens of seconds on Windows.

With this change, the ipnserver.New function changes to not take an
Engine and to return immediately, not returning an error, and let its
Run run immediately. If its ServeHTTP is called when it doesn't yet
have a LocalBackend, it returns an error. A TODO in there shows where
a future handler will serve status before an engine is available.

Future changes will:

* delete a bunch of tailscaled_windows.go code and use this new API
* add the ipnserver.Server ServerHTTP handler to await the engine
  being available
* use that handler in the Windows GUI client

Updates #6522

Change-Id: Iae94e68c235e850b112a72ea24ad0e0959b568ee
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2 years ago
..
testcontrol all: fix spelling mistakes 2 years ago
vms all: remove old +build tags 2 years ago
gen_deps.go all: remove old +build tags 2 years ago
integration.go refactor: move from io/ioutil to io and os packages 2 years ago
integration_test.go envknob: add GOOS func 2 years ago
tailscaled_deps_test_darwin.go ipn/ipnserver: change Server to let LocalBackend be supplied async 2 years ago
tailscaled_deps_test_freebsd.go ipn/ipnserver: change Server to let LocalBackend be supplied async 2 years ago
tailscaled_deps_test_linux.go ipn/ipnserver: change Server to let LocalBackend be supplied async 2 years ago
tailscaled_deps_test_openbsd.go ipn/ipnserver: change Server to let LocalBackend be supplied async 2 years ago
tailscaled_deps_test_windows.go ipn/ipnserver: change Server to let LocalBackend be supplied async 2 years ago