mirror of
https://github.com/libp2p/go-libp2p-peerstore.git
synced 2025-03-13 11:30:09 +08:00
changes for the new interface
This commit is contained in:
parent
7a58f873f4
commit
dd0775df6d
2
go.mod
2
go.mod
@ -8,7 +8,7 @@ require (
|
||||
github.com/ipfs/go-ds-leveldb v0.4.2
|
||||
github.com/ipfs/go-log v1.0.3
|
||||
github.com/libp2p/go-buffer-pool v0.0.2
|
||||
github.com/libp2p/go-libp2p-core v0.5.4-0.20200508062439-98b95a487749
|
||||
github.com/libp2p/go-libp2p-core v0.5.4-0.20200511073005-dabf5bbfb028
|
||||
github.com/multiformats/go-base32 v0.0.3
|
||||
github.com/multiformats/go-multiaddr v0.2.1
|
||||
github.com/multiformats/go-multiaddr-fmt v0.1.0
|
||||
|
2
go.sum
2
go.sum
@ -97,6 +97,8 @@ github.com/libp2p/go-libp2p-core v0.5.1 h1:6Cu7WljPQtGY2krBlMoD8L/zH3tMUsCbqNFH7
|
||||
github.com/libp2p/go-libp2p-core v0.5.1/go.mod h1:uN7L2D4EvPCvzSH5SrhR72UWbnSGpt5/a35Sm4upn4Y=
|
||||
github.com/libp2p/go-libp2p-core v0.5.4-0.20200508062439-98b95a487749 h1:G0zRpRnpZ8sAZ5E5IRB6x7np9iuulPIWE+y3I/xGNfo=
|
||||
github.com/libp2p/go-libp2p-core v0.5.4-0.20200508062439-98b95a487749/go.mod h1:uN7L2D4EvPCvzSH5SrhR72UWbnSGpt5/a35Sm4upn4Y=
|
||||
github.com/libp2p/go-libp2p-core v0.5.4-0.20200511073005-dabf5bbfb028 h1:nQb4SDWcadn/kpWtMwsWweogIzYviVE5qOMT42bkyNE=
|
||||
github.com/libp2p/go-libp2p-core v0.5.4-0.20200511073005-dabf5bbfb028/go.mod h1:uN7L2D4EvPCvzSH5SrhR72UWbnSGpt5/a35Sm4upn4Y=
|
||||
github.com/libp2p/go-msgio v0.0.4/go.mod h1:63lBBgOTDKQL6EWazRMCwXsEeEeK9O2Cd+0+6OOuipQ=
|
||||
github.com/libp2p/go-openssl v0.0.4 h1:d27YZvLoTyMhIN4njrkr8zMDOM4lfpHIp6A+TK9fovg=
|
||||
github.com/libp2p/go-openssl v0.0.4/go.mod h1:unDrJpgy3oFr+rqXsarWifmJuNnJR4chtO1HmaZjggc=
|
||||
|
@ -122,9 +122,9 @@ func (pb *dsProtoBook) SupportsProtocols(p peer.ID, protos ...string) ([]string,
|
||||
return res, nil
|
||||
}
|
||||
|
||||
func (pb *dsProtoBook) SupportsAnyProtocol(p peer.ID, protos ...string) (bool, error) {
|
||||
func (pb *dsProtoBook) FirstSupportedProtocol(p peer.ID, protos ...string) (string, error) {
|
||||
if err := p.Validate(); err != nil {
|
||||
return false, err
|
||||
return "", err
|
||||
}
|
||||
|
||||
s := pb.segments.get(p)
|
||||
@ -133,15 +133,15 @@ func (pb *dsProtoBook) SupportsAnyProtocol(p peer.ID, protos ...string) (bool, e
|
||||
|
||||
pmap, err := pb.getProtocolMap(p)
|
||||
if err != nil {
|
||||
return false, err
|
||||
return "", err
|
||||
}
|
||||
for _, proto := range protos {
|
||||
if _, ok := pmap[proto]; ok {
|
||||
return true, nil
|
||||
return proto, nil
|
||||
}
|
||||
}
|
||||
|
||||
return false, nil
|
||||
return "", nil
|
||||
}
|
||||
|
||||
func (pb *dsProtoBook) RemoveProtocols(p peer.ID, protos ...string) error {
|
||||
|
@ -164,9 +164,9 @@ func (pb *memoryProtoBook) SupportsProtocols(p peer.ID, protos ...string) ([]str
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (pb *memoryProtoBook) SupportsAnyProtocol(p peer.ID, protos ...string) (bool, error) {
|
||||
func (pb *memoryProtoBook) FirstSupportedProtocol(p peer.ID, protos ...string) (string, error) {
|
||||
if err := p.Validate(); err != nil {
|
||||
return false, err
|
||||
return "", err
|
||||
}
|
||||
|
||||
s := pb.segments.get(p)
|
||||
@ -175,8 +175,8 @@ func (pb *memoryProtoBook) SupportsAnyProtocol(p peer.ID, protos ...string) (boo
|
||||
|
||||
for _, proto := range protos {
|
||||
if _, ok := s.protocols[p][proto]; ok {
|
||||
return true, nil
|
||||
return proto, nil
|
||||
}
|
||||
}
|
||||
return false, nil
|
||||
return "", nil
|
||||
}
|
||||
|
@ -243,17 +243,17 @@ func testPeerstoreProtoStore(ps pstore.Peerstore) func(t *testing.T) {
|
||||
t.Fatal("got wrong supported array: ", supported)
|
||||
}
|
||||
|
||||
b, err := ps.SupportsAnyProtocol(p1, "q", "w", "a", "y", "b")
|
||||
b, err := ps.FirstSupportedProtocol(p1, "q", "w", "a", "y", "b")
|
||||
require.NoError(t, err)
|
||||
require.True(t, b)
|
||||
require.Equal(t, "a", b)
|
||||
|
||||
b, err = ps.SupportsAnyProtocol(p1, "a")
|
||||
b, err = ps.FirstSupportedProtocol(p1, "q", "x", "z")
|
||||
require.NoError(t, err)
|
||||
require.True(t, b)
|
||||
require.Empty(t, b)
|
||||
|
||||
b, err = ps.SupportsAnyProtocol(p1, "q")
|
||||
b, err = ps.FirstSupportedProtocol(p1, "a")
|
||||
require.NoError(t, err)
|
||||
require.False(t, b)
|
||||
require.Equal(t, "a", b)
|
||||
|
||||
protos = []string{"other", "yet another", "one more"}
|
||||
err = ps.SetProtocols(p1, protos...)
|
||||
|
Loading…
Reference in New Issue
Block a user