| 1234567891011121314151617181920212223242526272829 |
- // Copyright (c) Tailscale Inc & AUTHORS
- // SPDX-License-Identifier: BSD-3-Clause
- // Package netknob has Tailscale network knobs.
- package netknob
- import (
- "runtime"
- "time"
- )
- // PlatformTCPKeepAlive returns the default net.Dialer.KeepAlive
- // value for the current runtime.GOOS.
- func PlatformTCPKeepAlive() time.Duration {
- switch runtime.GOOS {
- case "ios", "android":
- // Disable TCP keep-alives on mobile platforms.
- // See https://github.com/golang/go/issues/48622.
- //
- // TODO(bradfitz): in 1.17.x, try disabling TCP
- // keep-alives on for all platforms.
- return -1
- }
- // Otherwise, default to 30 seconds, which is mostly what we
- // used to do. In some places we used the zero value, which Go
- // defaults to 15 seconds. But 30 seconds is fine.
- return 30 * time.Second
- }
|