mirror of
https://github.com/ipfs/kubo.git
synced 2026-02-26 12:57:44 +08:00
peerstore: PeerInfo func
This commit is contained in:
parent
238ee50110
commit
e6923ad969
@ -15,6 +15,14 @@ type Peerstore interface {
|
||||
KeyBook
|
||||
AddressBook
|
||||
Metrics
|
||||
|
||||
// Peers returns a list of all peer.IDs in this Peerstore
|
||||
Peers() []ID
|
||||
|
||||
// PeerInfo returns a peer.PeerInfo struct for given peer.ID.
|
||||
// This is a small slice of the information Peerstore has on
|
||||
// that peer, useful to other services.
|
||||
PeerInfo(ID) PeerInfo
|
||||
}
|
||||
|
||||
// AddressBook tracks the addresses of Peers
|
||||
@ -197,3 +205,10 @@ func (ps *peerstore) Peers() []ID {
|
||||
}
|
||||
return pps
|
||||
}
|
||||
|
||||
func (ps *peerstore) PeerInfo(p ID) PeerInfo {
|
||||
return PeerInfo{
|
||||
ID: p,
|
||||
Addrs: ps.addressbook.Addresses(p),
|
||||
}
|
||||
}
|
||||
|
||||
@ -44,10 +44,6 @@ func TestAddresses(t *testing.T) {
|
||||
ps.AddAddress(id3, ma32)
|
||||
ps.AddAddress(id3, ma33)
|
||||
|
||||
a1 := ps.Addresses(id1)
|
||||
a2 := ps.Addresses(id2)
|
||||
a3 := ps.Addresses(id3)
|
||||
|
||||
test := func(exp, act []ma.Multiaddr) {
|
||||
if len(exp) != len(act) {
|
||||
t.Fatal("lengths not the same")
|
||||
@ -69,7 +65,13 @@ func TestAddresses(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
test([]ma.Multiaddr{ma11}, a1)
|
||||
test([]ma.Multiaddr{ma21, ma22}, a2)
|
||||
test([]ma.Multiaddr{ma31, ma32, ma33}, a3)
|
||||
// test the Addresses return value
|
||||
test([]ma.Multiaddr{ma11}, ps.Addresses(id1))
|
||||
test([]ma.Multiaddr{ma21, ma22}, ps.Addresses(id2))
|
||||
test([]ma.Multiaddr{ma31, ma32, ma33}, ps.Addresses(id3))
|
||||
|
||||
// test also the PeerInfo return
|
||||
test([]ma.Multiaddr{ma11}, ps.PeerInfo(id1).Addrs)
|
||||
test([]ma.Multiaddr{ma21, ma22}, ps.PeerInfo(id2).Addrs)
|
||||
test([]ma.Multiaddr{ma31, ma32, ma33}, ps.PeerInfo(id3).Addrs)
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user