mirror of https://github.com/golang/go.git
net: add mptcpStatus type
This new type will be used in the following commits. The goal is to have a tristate, an enum with three values: - system default (0) - enabled - disabled The system default value is linked to defaultMPTCPEnabled: disabled by default for the moment. Users will be able to force enabling/disabling MPTCP or use the default behaviour. This work has been co-developped by Gregory Detal <gregory.detal@tessares.net>. Updates #56539 Change-Id: I8fa0cad7a18ca967508799fc828ef060b27683d2 Reviewed-on: https://go-review.googlesource.com/c/go/+/477735 TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Heschi Kreinick <heschi@google.com> Auto-Submit: Ian Lance Taylor <iant@google.com> Run-TryBot: Ian Lance Taylor <iant@google.com> Reviewed-by: Emmanuel Odeke <emmanuel@orijtech.com> Reviewed-by: Ian Lance Taylor <iant@google.com>
This commit is contained in:
parent
7ec2e84424
commit
e4abe90bf8
|
|
@ -11,12 +11,45 @@ import (
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
// defaultTCPKeepAlive is a default constant value for TCPKeepAlive times
|
|
||||||
// See golang.org/issue/31510
|
|
||||||
const (
|
const (
|
||||||
|
// defaultTCPKeepAlive is a default constant value for TCPKeepAlive times
|
||||||
|
// See go.dev/issue/31510
|
||||||
defaultTCPKeepAlive = 15 * time.Second
|
defaultTCPKeepAlive = 15 * time.Second
|
||||||
|
|
||||||
|
// For the moment, MultiPath TCP is not used by default
|
||||||
|
// See go.dev/issue/56539
|
||||||
|
defaultMPTCPEnabled = false
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// mptcpStatus is a tristate for Multipath TCP, see go.dev/issue/56539
|
||||||
|
type mptcpStatus uint8
|
||||||
|
|
||||||
|
const (
|
||||||
|
// The value 0 is the system default, linked to defaultMPTCPEnabled
|
||||||
|
mptcpUseDefault mptcpStatus = iota
|
||||||
|
mptcpEnabled
|
||||||
|
mptcpDisabled
|
||||||
|
)
|
||||||
|
|
||||||
|
func (m *mptcpStatus) get() bool {
|
||||||
|
switch *m {
|
||||||
|
case mptcpEnabled:
|
||||||
|
return true
|
||||||
|
case mptcpDisabled:
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
return defaultMPTCPEnabled
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *mptcpStatus) set(use bool) {
|
||||||
|
if use {
|
||||||
|
*m = mptcpEnabled
|
||||||
|
} else {
|
||||||
|
*m = mptcpDisabled
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// A Dialer contains options for connecting to an address.
|
// A Dialer contains options for connecting to an address.
|
||||||
//
|
//
|
||||||
// The zero value for each field is equivalent to dialing
|
// The zero value for each field is equivalent to dialing
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue