summaryrefslogtreecommitdiffhomepage
path: root/client
diff options
context:
space:
mode:
authorBrad Fitzpatrick <bradfitz@tailscale.com>2022-11-27 13:07:41 -0800
committerBrad Fitzpatrick <brad@danga.com>2022-11-28 09:48:33 -0800
commite8cc78b1afdd4b7358c39b8cfbfcd7ae7faf3bd3 (patch)
treed7bd8b0071d2f2fce751cc3bfc3042b07e3a42fb /client
parent8049053f86a0b7cc0eca2aef9e14032de8c28d35 (diff)
downloadtailscale-e8cc78b1afdd4b7358c39b8cfbfcd7ae7faf3bd3.tar.xz
tailscale-e8cc78b1afdd4b7358c39b8cfbfcd7ae7faf3bd3.zip
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>
Diffstat (limited to 'client')
0 files changed, 0 insertions, 0 deletions