go/api/next
Matthieu Baerts 0bd94e4387 net: mptcp: implement dialMPTCP
This function is called when the user has requested MPTCP via
SetMultipathTCP in the Dialer.

This new function falls back to dialTCP on operating systems that do not
support MPTCP or if MPTCP is not supported.

On Dialer side, MultipathTCP function can be used to know if the package
will try to use MPTCP or not when Dial is called.

Note that this new dialMPTCP function returns a TCPConn object, like
dialTCP. A new MPTCPConn object using the following composition could
have been returned:

    type MPTCPConn struct {
        *TCPConn
    }

But the drawback is that if MPTCP is used by default one day (see #56539
issue on GitHub), Dial will return a different object: this new
MPTCPConn type instead of the previously expected TCPConn. This can
cause issues for apps checking the returned object.

This work has been co-developped by Gregory Detal
<gregory.detal@tessares.net>.

Updates #56539

Change-Id: I0f9b5b81f630b39142bdd553d4f1b4c775f1dff0
Reviewed-on: https://go-review.googlesource.com/c/go/+/471136
Reviewed-by: Ian Lance Taylor <iant@google.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
Run-TryBot: Emmanuel Odeke <emmanuel@orijtech.com>
Reviewed-by: Emmanuel Odeke <emmanuel@orijtech.com>
Run-TryBot: Ian Lance Taylor <iant@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2023-03-29 22:12:18 +00:00
..
25448.txt runtime: replace panic(nil) with panic(new(runtime.PanicNilError)) 2023-01-19 22:21:50 +00:00
34648.txt crypto/elliptic: deprecate unsafe APIs 2023-03-16 16:31:26 +00:00
40221.txt context: add WithoutCancel 2023-03-29 20:41:09 +00:00
41198.txt errors: add ErrUnsupported 2023-03-11 05:07:02 +00:00
46259.txt syscall: add jail support to ForkExec on FreeBSD 2023-02-22 20:38:48 +00:00
52221.txt crypto/elliptic: deprecate unsafe APIs 2023-03-16 16:31:26 +00:00
52600.txt testing: add Testing function 2023-03-13 21:58:46 +00:00
53573.txt crypto/x509: surface ReasonCode in RevocationList API 2023-03-13 20:25:37 +00:00
53685.txt bytes: add Buffer.Available and Buffer.AvailableBuffer 2023-03-13 17:03:14 +00:00
53747.txt flag: add BoolFunc; FlagSet.BoolFunc 2023-03-16 16:44:21 +00:00
54386.txt bytes, strings: add ContainsFunc 2023-01-24 22:06:45 +00:00
55002.txt reflect,runtime: add Value.Clear 2023-01-30 16:00:58 +00:00
55079.txt all: upgrade Unicode from 13.0.0 to 15.0.0 2023-02-06 04:29:53 +00:00
56345.txt log/slog: initial commit 2023-03-21 20:55:33 +00:00
56491.txt math: add Compare and Compare32 2023-02-15 21:56:30 +00:00
56539.txt net: mptcp: implement dialMPTCP 2023-03-29 22:12:18 +00:00
56661.txt context: add APIs for setting a cancelation cause when deadline or timer expires 2023-01-20 21:41:01 +00:00
56887.txt debug/elf: add DT_FLAGS_1 constants 2023-02-03 04:37:17 +00:00
56892.txt debug/elf: retrieve values for dynamic section tags 2023-03-07 18:26:40 +00:00
56921.txt crypto/rsa: deprecate multiprime RSA support 2023-03-16 16:31:24 +00:00
56984.txt math/big: add Int.Float64 conversion 2023-02-02 19:39:34 +00:00
56986.txt cmd/go, go/build: parse directives in file headers 2023-02-23 10:10:21 +00:00
57237.txt encoding/binary: add var NativeEndian 2023-01-27 18:17:20 +00:00
57433.txt slices: new package 2023-02-13 21:00:42 +00:00
57436.txt maps: new package 2023-02-03 18:22:53 +00:00
57708.txt go/token: add (*File).Lines method 2023-02-02 16:40:29 +00:00
57786.txt net/http: support full-duplex HTTP/1 responses 2023-03-07 22:52:18 +00:00