]> Cypherpunks repositories - gostls13.git/commit
net: add ListenConfig, Dialer.Control to permit socket opts before listen/dial
authorAudrius Butkevicius <audrius.butkevicius@gmail.com>
Mon, 28 May 2018 01:47:21 +0000 (02:47 +0100)
committerIan Lance Taylor <iant@golang.org>
Wed, 30 May 2018 22:54:22 +0000 (22:54 +0000)
commit3c4d3bdd3b454ef45ce00559d705fe5dc6f57cad
treef6fdc05def6fd6f042bc99fc105c3ffbd2721769
parentcc6e568c818053ddc16b80b0406a87d19de7a120
net: add ListenConfig, Dialer.Control to permit socket opts before listen/dial

Existing implementation does not provide a way to set options such as
SO_REUSEPORT, that has to be set prior the socket being bound.

New exposed API:
pkg net, method (*ListenConfig) Listen(context.Context, string, string) (Listener, error)
pkg net, method (*ListenConfig) ListenPacket(context.Context, string, string) (PacketConn, error)
pkg net, type ListenConfig struct
pkg net, type ListenConfig struct, Control func(string, string, syscall.RawConn) error
pkg net, type Dialer struct, Control func(string, string, syscall.RawConn) error

Fixes #9661

Change-Id: If4d275711f823df72d3ac5cc3858651a6a57cccb
Reviewed-on: https://go-review.googlesource.com/72810
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
12 files changed:
src/net/dial.go
src/net/dial_test.go
src/net/iprawsock_posix.go
src/net/ipsock_posix.go
src/net/listen_test.go
src/net/rawconn_stub_test.go
src/net/rawconn_unix_test.go
src/net/rawconn_windows_test.go
src/net/sock_posix.go
src/net/tcpsock_posix.go
src/net/udpsock_posix.go
src/net/unixsock_posix.go