Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
p2p
go-p2p-swarm
Commits
adaa228f
Commit
adaa228f
authored
Nov 15, 2018
by
Steven Allen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
warn when we encounter a useless transport
parent
ebb79a95
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
51 additions
and
0 deletions
+51
-0
swarm_transport.go
swarm_transport.go
+4
-0
transport_test.go
transport_test.go
+47
-0
No files found.
swarm_transport.go
View file @
adaa228f
...
...
@@ -70,6 +70,10 @@ func (s *Swarm) TransportForListening(a ma.Multiaddr) transport.Transport {
func
(
s
*
Swarm
)
AddTransport
(
t
transport
.
Transport
)
error
{
protocols
:=
t
.
Protocols
()
if
len
(
protocols
)
==
0
{
return
fmt
.
Errorf
(
"useless transport handles no protocols: %T"
,
t
)
}
s
.
transports
.
Lock
()
defer
s
.
transports
.
Unlock
()
var
registered
[]
string
...
...
transport_test.go
0 → 100644
View file @
adaa228f
package
swarm_test
import
(
"context"
"testing"
swarmt
"github.com/libp2p/go-libp2p-swarm/testing"
peer
"github.com/libp2p/go-libp2p-peer"
transport
"github.com/libp2p/go-libp2p-transport"
ma
"github.com/multiformats/go-multiaddr"
)
type
dummyTransport
struct
{
protocols
[]
int
proxy
bool
}
func
(
dt
*
dummyTransport
)
Dial
(
ctx
context
.
Context
,
raddr
ma
.
Multiaddr
,
p
peer
.
ID
)
(
transport
.
Conn
,
error
)
{
panic
(
"unimplemented"
)
}
func
(
dt
*
dummyTransport
)
CanDial
(
addr
ma
.
Multiaddr
)
bool
{
panic
(
"unimplemented"
)
}
func
(
dt
*
dummyTransport
)
Listen
(
laddr
ma
.
Multiaddr
)
(
transport
.
Listener
,
error
)
{
panic
(
"unimplemented"
)
}
func
(
dt
*
dummyTransport
)
Proxy
()
bool
{
return
dt
.
proxy
}
func
(
dt
*
dummyTransport
)
Protocols
()
[]
int
{
return
dt
.
protocols
}
func
TestUselessTransport
(
t
*
testing
.
T
)
{
ctx
,
cancel
:=
context
.
WithCancel
(
context
.
Background
())
defer
cancel
()
swarm
:=
swarmt
.
GenSwarm
(
t
,
ctx
)
err
:=
swarm
.
AddTransport
(
new
(
dummyTransport
))
if
err
==
nil
{
t
.
Fatal
(
"adding a transport that supports no protocols should have failed"
)
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment