simplify ping.ParsePeerParam
We now *have* p2p multiaddrs. License: MIT Signed-off-by: Steven Allen <steven@stebalien.com>
Steven Allen committed
Oct 27, 2018 at 10:54 UTC
b8f535567fcba01cd8fb141ee29c6018ea474911
1 file changed
+8
-30
core/commands/ping.go
+8
-30
@@ -14,6 +14,7 @@ import (
14
ma "gx/ipfs/QmT4U94DnD8FRfqr21obWY32HLM5VExccPKMjQHofeYqr9/go-multiaddr"
15
"gx/ipfs/QmTRhk7cgjUf2gfQ3p2M9KPECNZEW9XUrmHcFCgog4cPgB/go-libp2p-peer"
16
pstore "gx/ipfs/QmTTJcDL3gsnGDALjh2fDGg1onGRUdVgNL2hU2WEZcVrMX/go-libp2p-peerstore"
17
+ iaddr "gx/ipfs/QmZc5PLgxW61uTPG24TroxHDF6xzgbhZZQf5i53ciQC47Y/go-ipfs-addr"
18
cmdkit "gx/ipfs/Qmde5VP1qUkyQXKCfmEUA7bP64V2HAptbJ7phuPp7jXWwg/go-ipfs-cmdkit"
19
)
20
@@ -157,38 +158,15 @@ trip latency information.
158
}
159
160
func ParsePeerParam(text string) (ma.Multiaddr, peer.ID, error) {
160
- // to be replaced with just multiaddr parsing, once ptp is a multiaddr protocol
161
- idx := strings.LastIndex(text, "/")
162
- if idx == -1 {
163
- pid, err := peer.IDB58Decode(text)
161
+ // Multiaddr
162
+ if strings.HasPrefix(text, "/") {
163
+ a, err := iaddr.ParseString(text)
164
if err != nil {
165
return nil, "", err
166
}
167
-
168
- return nil, pid, nil
167
+ return a.Transport(), a.ID(), nil
168
}
170
-
171
- addrS := text[:idx]
172
- peeridS := text[idx+1:]
173
-
174
- var maddr ma.Multiaddr
175
- var pid peer.ID
176
-
177
- // make sure addrS parses as a multiaddr.
178
- if len(addrS) > 0 {
179
- var err error
180
- maddr, err = ma.NewMultiaddr(addrS)
181
- if err != nil {
182
- return nil, "", err
183
- }
184
- }
185
-
186
- // make sure idS parses as a peer.ID
187
- var err error
188
- pid, err = peer.IDB58Decode(peeridS)
189
- if err != nil {
190
- return nil, "", err
191
- }
192
-
193
- return maddr, pid, nil
169
+ // Raw peer ID
170
+ p, err := peer.IDB58Decode(text)
171
+ return nil, p, err
172
}