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"
|
||||
)
|
||||
|
||||
// defaultTCPKeepAlive is a default constant value for TCPKeepAlive times
|
||||
// See golang.org/issue/31510
|
||||
const (
|
||||
// defaultTCPKeepAlive is a default constant value for TCPKeepAlive times
|
||||
// See go.dev/issue/31510
|
||||
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.
|
||||
//
|
||||
// The zero value for each field is equivalent to dialing
|
||||
|
|
|
|||
Loading…
Reference in New Issue