Skip to content

Commit 3c94e56

Browse files
authored
Merge pull request #8 from marten-seemann/master
Compatibility with the new transport interfaces
2 parents 53da0c0 + 21fd167 commit 3c94e56

File tree

1 file changed

+22
-7
lines changed

1 file changed

+22
-7
lines changed

p2p/transport/tcp/tcp.go

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import (
55
"fmt"
66
"net"
77
"sync"
8-
"time"
98

109
logging "github.com/ipfs/go-log"
1110
reuseport "github.com/jbenet/go-reuseport"
@@ -25,6 +24,8 @@ type TcpTransport struct {
2524
listeners map[string]tpt.Listener
2625
}
2726

27+
var _ tpt.Transport = &TcpTransport{}
28+
2829
// NewTCPTransport creates a tcp transport object that tracks dialers and listeners
2930
// created. It represents an entire tcp stack (though it might not necessarily be)
3031
func NewTCPTransport() *TcpTransport {
@@ -54,8 +55,6 @@ func (t *TcpTransport) Dialer(laddr ma.Multiaddr, opts ...tpt.DialOpt) (tpt.Dial
5455
var doReuse bool
5556
for _, o := range opts {
5657
switch o := o.(type) {
57-
case tpt.TimeoutOpt:
58-
base.Timeout = time.Duration(o)
5958
case tpt.ReuseportOpt:
6059
doReuse = bool(o)
6160
default:
@@ -135,6 +134,8 @@ type tcpDialer struct {
135134
transport tpt.Transport
136135
}
137136

137+
var _ tpt.Dialer = &tcpDialer{}
138+
138139
func (t *TcpTransport) newTcpDialer(base manet.Dialer, laddr ma.Multiaddr, doReuse bool) (*tcpDialer, error) {
139140
// get the local net.Addr manually
140141
la, err := manet.ToNetAddr(laddr)
@@ -195,9 +196,9 @@ func (d *tcpDialer) DialContext(ctx context.Context, raddr ma.Multiaddr) (tpt.Co
195196
return nil, err
196197
}
197198

198-
return &tpt.ConnWrap{
199+
return &tcpConn{
199200
Conn: c,
200-
Tpt: d.transport,
201+
t: d.transport,
201202
}, nil
202203
}
203204

@@ -238,15 +239,17 @@ type tcpListener struct {
238239
transport tpt.Transport
239240
}
240241

242+
var _ tpt.Listener = &tcpListener{}
243+
241244
func (d *tcpListener) Accept() (tpt.Conn, error) {
242245
c, err := d.list.Accept()
243246
if err != nil {
244247
return nil, err
245248
}
246249

247-
return &tpt.ConnWrap{
250+
return &tcpConn{
248251
Conn: c,
249-
Tpt: d.transport,
252+
t: d.transport,
250253
}, nil
251254
}
252255

@@ -265,3 +268,15 @@ func (t *tcpListener) NetListener() net.Listener {
265268
func (d *tcpListener) Close() error {
266269
return d.list.Close()
267270
}
271+
272+
type tcpConn struct {
273+
manet.Conn
274+
t tpt.Transport
275+
}
276+
277+
var _ tpt.Conn = &tcpConn{}
278+
var _ tpt.DuplexConn = &tcpConn{}
279+
280+
func (c *tcpConn) Transport() tpt.Transport {
281+
return c.t
282+
}

0 commit comments

Comments
 (0)