Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
go-libp2p
Commits
c52f4523
Commit
c52f4523
authored
Oct 08, 2018
by
vyzo
Browse files
simplify routed relay addr check
the first component must be P_P2P, or else we have a specific address to dial
parent
dd9b96f7
Changes
1
Hide whitespace changes
Inline
Side-by-side
p2p/host/routed/routed.go
View file @
c52f4523
...
...
@@ -68,8 +68,8 @@ func (rh *RoutedHost) Connect(ctx context.Context, pi pstore.PeerInfo) error {
}
}
// Issue 448: if our address set includes specific relay addrs,
we need
// to make sure the relay's addr itself is in the peerstore or else
// Issue 448: if our address set includes
routed
specific relay addrs,
//
we need
to make sure the relay's addr itself is in the peerstore or else
// we wont be able to dial it.
for
_
,
addr
:=
range
addrs
{
_
,
err
:=
addr
.
ValueForProtocol
(
circuit
.
P_CIRCUIT
)
...
...
@@ -78,23 +78,19 @@ func (rh *RoutedHost) Connect(ctx context.Context, pi pstore.PeerInfo) error {
continue
}
relay
,
err
:=
addr
.
ValueForProtocol
(
ma
.
P_P2P
)
if
err
!=
nil
{
// not a specific relay address
if
addr
.
Protocols
()[
0
]
.
Code
!=
ma
.
P_P2P
{
// not a routed relay specific address
continue
}
relay
,
_
:=
addr
.
ValueForProtocol
(
ma
.
P_P2P
)
relayID
,
err
:=
peer
.
IDFromString
(
relay
)
if
err
!=
nil
{
log
.
Debugf
(
"failed to parse relay ID in address %s: %s"
,
relay
,
err
)
continue
}
if
relayID
==
pi
.
ID
{
// it's an old style p2p-circuit address that includes the peer
continue
}
if
len
(
rh
.
Peerstore
()
.
Addrs
(
relayID
))
>
0
{
// we already have addrs for this relay
continue
...
...
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