Skip to content
This repository was archived by the owner on Sep 10, 2022. It is now read-only.

Commit b459e09

Browse files
Merge pull request #101 from libp2p/rename-package
rename the package to upgrader
2 parents 5fc0a74 + e892b68 commit b459e09

7 files changed

+53
-51
lines changed

conn.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package stream
1+
package upgrader
22

33
import (
44
"fmt"

gater_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package stream_test
1+
package upgrader_test
22

33
import (
44
"sync"

listener.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package stream
1+
package upgrader
22

33
import (
44
"context"
@@ -13,7 +13,7 @@ import (
1313
manet "github.com/multiformats/go-multiaddr/net"
1414
)
1515

16-
var log = logging.Logger("stream-upgrader")
16+
var log = logging.Logger("upgrader")
1717

1818
type listener struct {
1919
manet.Listener

listener_test.go

+38-37
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package stream_test
1+
package upgrader_test
22

33
import (
44
"context"
@@ -10,10 +10,11 @@ import (
1010
"testing"
1111
"time"
1212

13+
upgrader "github.com/libp2p/go-libp2p-transport-upgrader"
14+
1315
"github.com/libp2p/go-libp2p-core/peer"
1416
"github.com/libp2p/go-libp2p-core/sec"
1517
"github.com/libp2p/go-libp2p-core/transport"
16-
st "github.com/libp2p/go-libp2p-transport-upgrader"
1718

1819
ma "github.com/multiformats/go-multiaddr"
1920
manet "github.com/multiformats/go-multiaddr/net"
@@ -37,23 +38,23 @@ func (mux *MuxAdapter) SecureOutbound(ctx context.Context, insecure net.Conn, p
3738
return sconn, false, err
3839
}
3940

40-
func createListener(t *testing.T, upgrader transport.Upgrader) transport.Listener {
41+
func createListener(t *testing.T, u transport.Upgrader) transport.Listener {
4142
t.Helper()
4243
addr, err := ma.NewMultiaddr("/ip4/127.0.0.1/tcp/0")
4344
require.NoError(t, err)
4445
ln, err := manet.Listen(addr)
4546
require.NoError(t, err)
46-
return upgrader.UpgradeListener(nil, ln)
47+
return u.UpgradeListener(nil, ln)
4748
}
4849

4950
func TestAcceptSingleConn(t *testing.T) {
5051
require := require.New(t)
5152

52-
id, upgrader := createUpgrader(t)
53-
ln := createListener(t, upgrader)
53+
id, u := createUpgrader(t)
54+
ln := createListener(t, u)
5455
defer ln.Close()
5556

56-
cconn, err := dial(t, upgrader, ln.Multiaddr(), id)
57+
cconn, err := dial(t, u, ln.Multiaddr(), id)
5758
require.NoError(err)
5859

5960
sconn, err := ln.Accept()
@@ -65,8 +66,8 @@ func TestAcceptSingleConn(t *testing.T) {
6566
func TestAcceptMultipleConns(t *testing.T) {
6667
require := require.New(t)
6768

68-
id, upgrader := createUpgrader(t)
69-
ln := createListener(t, upgrader)
69+
id, u := createUpgrader(t)
70+
ln := createListener(t, u)
7071
defer ln.Close()
7172

7273
var toClose []io.Closer
@@ -77,7 +78,7 @@ func TestAcceptMultipleConns(t *testing.T) {
7778
}()
7879

7980
for i := 0; i < 10; i++ {
80-
cconn, err := dial(t, upgrader, ln.Multiaddr(), id)
81+
cconn, err := dial(t, u, ln.Multiaddr(), id)
8182
require.NoError(err)
8283
toClose = append(toClose, cconn)
8384

@@ -97,11 +98,11 @@ func TestConnectionsClosedIfNotAccepted(t *testing.T) {
9798
timeout = 500 * time.Millisecond
9899
}
99100

100-
id, upgrader := createUpgrader(t, st.WithAcceptTimeout(timeout))
101-
ln := createListener(t, upgrader)
101+
id, u := createUpgrader(t, upgrader.WithAcceptTimeout(timeout))
102+
ln := createListener(t, u)
102103
defer ln.Close()
103104

104-
conn, err := dial(t, upgrader, ln.Multiaddr(), id)
105+
conn, err := dial(t, u, ln.Multiaddr(), id)
105106
require.NoError(err)
106107

107108
errCh := make(chan error)
@@ -131,16 +132,16 @@ func TestConnectionsClosedIfNotAccepted(t *testing.T) {
131132
func TestFailedUpgradeOnListen(t *testing.T) {
132133
require := require.New(t)
133134

134-
id, upgrader := createUpgraderWithMuxer(t, &errorMuxer{})
135-
ln := createListener(t, upgrader)
135+
id, u := createUpgraderWithMuxer(t, &errorMuxer{})
136+
ln := createListener(t, u)
136137

137138
errCh := make(chan error)
138139
go func() {
139140
_, err := ln.Accept()
140141
errCh <- err
141142
}()
142143

143-
_, err := dial(t, upgrader, ln.Multiaddr(), id)
144+
_, err := dial(t, u, ln.Multiaddr(), id)
144145
require.Error(err)
145146

146147
// close the listener.
@@ -151,8 +152,8 @@ func TestFailedUpgradeOnListen(t *testing.T) {
151152
func TestListenerClose(t *testing.T) {
152153
require := require.New(t)
153154

154-
_, upgrader := createUpgrader(t)
155-
ln := createListener(t, upgrader)
155+
_, u := createUpgrader(t)
156+
ln := createListener(t, u)
156157

157158
errCh := make(chan error)
158159
go func() {
@@ -174,7 +175,7 @@ func TestListenerClose(t *testing.T) {
174175
require.Contains(err.Error(), "use of closed network connection")
175176

176177
// doesn't accept new connections when it is closed
177-
_, err = dial(t, upgrader, ln.Multiaddr(), peer.ID("1"))
178+
_, err = dial(t, u, ln.Multiaddr(), peer.ID("1"))
178179
require.Error(err)
179180
}
180181

@@ -219,11 +220,11 @@ func TestListenerCloseClosesQueued(t *testing.T) {
219220
}
220221

221222
func TestConcurrentAccept(t *testing.T) {
222-
var num = 3 * st.AcceptQueueLength
223+
var num = 3 * upgrader.AcceptQueueLength
223224

224225
blockingMuxer := newBlockingMuxer()
225-
id, upgrader := createUpgraderWithMuxer(t, blockingMuxer)
226-
ln := createListener(t, upgrader)
226+
id, u := createUpgraderWithMuxer(t, blockingMuxer)
227+
ln := createListener(t, u)
227228
defer ln.Close()
228229

229230
accepted := make(chan transport.CapableConn, num)
@@ -246,7 +247,7 @@ func TestConcurrentAccept(t *testing.T) {
246247
go func() {
247248
defer wg.Done()
248249

249-
conn, err := dial(t, upgrader, ln.Multiaddr(), id)
250+
conn, err := dial(t, u, ln.Multiaddr(), id)
250251
if err != nil {
251252
errCh <- err
252253
return
@@ -269,79 +270,79 @@ func TestConcurrentAccept(t *testing.T) {
269270
func TestAcceptQueueBacklogged(t *testing.T) {
270271
require := require.New(t)
271272

272-
id, upgrader := createUpgrader(t)
273-
ln := createListener(t, upgrader)
273+
id, u := createUpgrader(t)
274+
ln := createListener(t, u)
274275
defer ln.Close()
275276

276277
// setup AcceptQueueLength connections, but don't accept any of them
277278
var counter int32 // to be used atomically
278279
doDial := func() {
279-
conn, err := dial(t, upgrader, ln.Multiaddr(), id)
280+
conn, err := dial(t, u, ln.Multiaddr(), id)
280281
require.NoError(err)
281282
atomic.AddInt32(&counter, 1)
282283
t.Cleanup(func() { conn.Close() })
283284
}
284285

285-
for i := 0; i < st.AcceptQueueLength; i++ {
286+
for i := 0; i < upgrader.AcceptQueueLength; i++ {
286287
go doDial()
287288
}
288289

289-
require.Eventually(func() bool { return int(atomic.LoadInt32(&counter)) == st.AcceptQueueLength }, 2*time.Second, 50*time.Millisecond)
290+
require.Eventually(func() bool { return int(atomic.LoadInt32(&counter)) == upgrader.AcceptQueueLength }, 2*time.Second, 50*time.Millisecond)
290291

291292
// dial a new connection. This connection should not complete setup, since the queue is full
292293
go doDial()
293294

294295
time.Sleep(100 * time.Millisecond)
295-
require.Equal(int(atomic.LoadInt32(&counter)), st.AcceptQueueLength)
296+
require.Equal(int(atomic.LoadInt32(&counter)), upgrader.AcceptQueueLength)
296297

297298
// accept a single connection. Now the new connection should be set up, and fill the queue again
298299
conn, err := ln.Accept()
299300
require.NoError(err)
300301
require.NoError(conn.Close())
301302

302-
require.Eventually(func() bool { return int(atomic.LoadInt32(&counter)) == st.AcceptQueueLength+1 }, 2*time.Second, 50*time.Millisecond)
303+
require.Eventually(func() bool { return int(atomic.LoadInt32(&counter)) == upgrader.AcceptQueueLength+1 }, 2*time.Second, 50*time.Millisecond)
303304
}
304305

305306
func TestListenerConnectionGater(t *testing.T) {
306307
require := require.New(t)
307308

308309
testGater := &testGater{}
309-
id, upgrader := createUpgrader(t, st.WithConnectionGater(testGater))
310+
id, u := createUpgrader(t, upgrader.WithConnectionGater(testGater))
310311

311-
ln := createListener(t, upgrader)
312+
ln := createListener(t, u)
312313
defer ln.Close()
313314

314315
// no gating.
315-
conn, err := dial(t, upgrader, ln.Multiaddr(), id)
316+
conn, err := dial(t, u, ln.Multiaddr(), id)
316317
require.NoError(err)
317318
require.False(conn.IsClosed())
318319
_ = conn.Close()
319320

320321
// rejecting after handshake.
321322
testGater.BlockSecured(true)
322323
testGater.BlockAccept(false)
323-
conn, err = dial(t, upgrader, ln.Multiaddr(), peer.ID("invalid"))
324+
conn, err = dial(t, u, ln.Multiaddr(), peer.ID("invalid"))
324325
require.Error(err)
325326
require.Nil(conn)
326327

327328
// rejecting on accept will trigger first.
328329
testGater.BlockSecured(true)
329330
testGater.BlockAccept(true)
330-
conn, err = dial(t, upgrader, ln.Multiaddr(), peer.ID("invalid"))
331+
conn, err = dial(t, u, ln.Multiaddr(), peer.ID("invalid"))
331332
require.Error(err)
332333
require.Nil(conn)
333334

334335
// rejecting only on acceptance.
335336
testGater.BlockSecured(false)
336337
testGater.BlockAccept(true)
337-
conn, err = dial(t, upgrader, ln.Multiaddr(), peer.ID("invalid"))
338+
conn, err = dial(t, u, ln.Multiaddr(), peer.ID("invalid"))
338339
require.Error(err)
339340
require.Nil(conn)
340341

341342
// back to normal
342343
testGater.BlockSecured(false)
343344
testGater.BlockAccept(false)
344-
conn, err = dial(t, upgrader, ln.Multiaddr(), id)
345+
conn, err = dial(t, u, ln.Multiaddr(), id)
345346
require.NoError(err)
346347
require.False(conn.IsClosed())
347348
_ = conn.Close()

threshold.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package stream
1+
package upgrader
22

33
import (
44
"sync"

upgrader.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package stream
1+
package upgrader
22

33
import (
44
"context"

upgrader_test.go

+9-8
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
1-
package stream_test
1+
package upgrader_test
22

33
import (
44
"context"
55
"errors"
66
"net"
77
"testing"
88

9+
upgrader "github.com/libp2p/go-libp2p-transport-upgrader"
10+
911
"github.com/libp2p/go-libp2p-core/crypto"
1012
"github.com/libp2p/go-libp2p-core/mux"
1113
"github.com/libp2p/go-libp2p-core/network"
@@ -15,24 +17,23 @@ import (
1517
"github.com/libp2p/go-libp2p-core/transport"
1618

1719
mplex "github.com/libp2p/go-libp2p-mplex"
18-
st "github.com/libp2p/go-libp2p-transport-upgrader"
1920

2021
ma "github.com/multiformats/go-multiaddr"
2122
manet "github.com/multiformats/go-multiaddr/net"
2223

2324
"github.com/stretchr/testify/require"
2425
)
2526

26-
func createUpgrader(t *testing.T, opts ...st.Option) (peer.ID, transport.Upgrader) {
27+
func createUpgrader(t *testing.T, opts ...upgrader.Option) (peer.ID, transport.Upgrader) {
2728
return createUpgraderWithMuxer(t, &negotiatingMuxer{}, opts...)
2829
}
2930

30-
func createUpgraderWithMuxer(t *testing.T, muxer mux.Multiplexer, opts ...st.Option) (peer.ID, transport.Upgrader) {
31+
func createUpgraderWithMuxer(t *testing.T, muxer mux.Multiplexer, opts ...upgrader.Option) (peer.ID, transport.Upgrader) {
3132
priv, _, err := test.RandTestKeyPair(crypto.Ed25519, 256)
3233
require.NoError(t, err)
3334
id, err := peer.IDFromPrivateKey(priv)
3435
require.NoError(t, err)
35-
u, err := st.New(&MuxAdapter{tpt: insecure.NewWithIdentity(id, priv)}, muxer, opts...)
36+
u, err := upgrader.New(&MuxAdapter{tpt: insecure.NewWithIdentity(id, priv)}, muxer, opts...)
3637
require.NoError(t, err)
3738
return id, u
3839
}
@@ -116,12 +117,12 @@ func dial(t *testing.T, upgrader transport.Upgrader, raddr ma.Multiaddr, p peer.
116117
func TestOutboundConnectionGating(t *testing.T) {
117118
require := require.New(t)
118119

119-
id, upgrader := createUpgrader(t)
120-
ln := createListener(t, upgrader)
120+
id, u := createUpgrader(t)
121+
ln := createListener(t, u)
121122
defer ln.Close()
122123

123124
testGater := &testGater{}
124-
_, dialUpgrader := createUpgrader(t, st.WithConnectionGater(testGater))
125+
_, dialUpgrader := createUpgrader(t, upgrader.WithConnectionGater(testGater))
125126
conn, err := dial(t, dialUpgrader, ln.Multiaddr(), id)
126127
require.NoError(err)
127128
require.NotNil(conn)

0 commit comments

Comments
 (0)