From 62fde9ead0ec43457d940571452bdf65baa829a2 Mon Sep 17 00:00:00 2001 From: Marten Seemann Date: Tue, 6 Apr 2021 18:22:14 +0700 Subject: [PATCH] use a fork of mikioh/tcp --- go.mod | 3 +-- go.sum | 3 +++ metrics.go | 4 ++-- tcp_conn.go | 39 --------------------------------------- 4 files changed, 6 insertions(+), 43 deletions(-) delete mode 100644 tcp_conn.go diff --git a/go.mod b/go.mod index b220920..5c8eff8 100644 --- a/go.mod +++ b/go.mod @@ -9,9 +9,8 @@ require ( github.com/libp2p/go-netroute v0.1.5 // indirect github.com/libp2p/go-reuseport v0.0.2 github.com/libp2p/go-reuseport-transport v0.0.4 - github.com/mikioh/tcp v0.0.0-20190314235350-803a9b46060c + github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd github.com/mikioh/tcpinfo v0.0.0-20190314235526-30a79bb1804b - github.com/mikioh/tcpopt v0.0.0-20190314235656-172688c1accc // indirect github.com/multiformats/go-multiaddr v0.3.1 github.com/multiformats/go-multiaddr-fmt v0.1.0 github.com/multiformats/go-multihash v0.0.15 // indirect diff --git a/go.sum b/go.sum index 482aeda..adc25c0 100644 --- a/go.sum +++ b/go.sum @@ -247,6 +247,8 @@ github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-b github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd h1:br0buuQ854V8u83wA0rVZ8ttrq5CpaPZdvrK0LP2lOk= +github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd/go.mod h1:QuCEs1Nt24+FYQEqAAncTDPJIuGs+LxK1MCiFL25pMU= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= @@ -497,6 +499,7 @@ golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4 h1:b0LrWgu8+q7z4J+0Y3Umo5q1dL7NXBkKBWkaVkAq17E= golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= diff --git a/metrics.go b/metrics.go index 0150d51..595da0c 100644 --- a/metrics.go +++ b/metrics.go @@ -5,7 +5,7 @@ import ( "sync" "time" - "github.com/mikioh/tcp" + "github.com/marten-seemann/tcp" "github.com/mikioh/tcpinfo" manet "github.com/multiformats/go-multiaddr/net" "github.com/prometheus/client_golang/prometheus" @@ -126,7 +126,7 @@ type tracingConn struct { } func newTracingConn(c manet.Conn, isClient bool) (*tracingConn, error) { - conn, err := newTCPConn(c) + conn, err := tcp.NewConn(c) if err != nil { return nil, err } diff --git a/tcp_conn.go b/tcp_conn.go deleted file mode 100644 index a163c23..0000000 --- a/tcp_conn.go +++ /dev/null @@ -1,39 +0,0 @@ -package tcp - -import ( - "errors" - "net" - "syscall" - "unsafe" - - "github.com/mikioh/tcp" -) - -// This is only needed because mikioh/tcp doesn't accept wrapped connections. -// See https://github.com/mikioh/tcp/pull/2. - -type tcpConn struct { - net.Conn - c syscall.RawConn -} - -// newTCPConn returns a new end point. -func newTCPConn(c net.Conn) (*tcp.Conn, error) { - type tcpConnI interface { - SyscallConn() (syscall.RawConn, error) - SetLinger(int) error - } - var _ tcpConnI = &net.TCPConn{} - cc := &tcpConn{Conn: c} - switch c := c.(type) { - case tcpConnI: - var err error - cc.c, err = c.SyscallConn() - if err != nil { - return nil, err - } - return (*tcp.Conn)(unsafe.Pointer(cc)), nil - default: - return nil, errors.New("unknown connection type") - } -}