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/net
Josh Bleecher Snyder cc23049cd2 net/tstun: remove multi-case selects from hot code
Every TUN Read went through several multi-case selects.
We know from past experience with wireguard-go that these are slow
and cause scheduler churn.

The selects served two purposes: they separated errors from data and
gracefully handled shutdown. The first is fairly easy to replace by sending
errors and data over a single channel. The second, less so.

We considered a few approaches: Intricate webs of channels,
global condition variables. They all get ugly fast.

Instead, let's embrace the ugly and handle shutdown ungracefully.
It's horrible, but the horror is simple and localized.

Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com>
5 years ago
..
dns net/dns: do not run wsl.exe as LocalSystem 5 years ago
dnscache control/controlclient, net/{dnscache,dnsfallback}: add DNS fallback mechanism 5 years ago
dnsfallback ipn, etc: use controlplane.tailscale.com 5 years ago
flowtrack net/packet, wgengine/filter: support SCTP 5 years ago
interfaces ipn, etc: use controlplane.tailscale.com 5 years ago
netcheck net/{interfaces,netcheck}: rename some fields, funcs 5 years ago
netns net/netns: add Android implementation, allowing registration of JNI hook 5 years ago
netstat all: adapt to opaque netaddr types 5 years ago
nettest net/nettest: make nettest.NewConn pass x/net/nettest.TestConn. 5 years ago
packet net/packet: use netaddr AppendTo methods 5 years ago
portmapper staticcheck.conf: turn off noisy lint errors 5 years ago
socks5 net/socks5/tssocks: add a SOCKS5 dialer type, method-ifying code 5 years ago
stun tstest/integration: add testNode.AwaitListening, DERP+STUN, improve proxy trap 5 years ago
tlsdial net/tlsdial, derp/derphttp: finish DERPNode.CertName validation 6 years ago
tsaddr net/tsaddr: simplify TailscaleServiceIP 5 years ago
tshttpproxy net/tshttpproxy: call winhttp calls from a fixed OS thread 5 years ago
tstun net/tstun: remove multi-case selects from hot code 5 years ago