1
0
mirror of https://github.com/ipfs/kubo.git synced 2025-07-02 03:28:25 +08:00

fix(bitswap:testnet) use peer.Map

This commit is contained in:
Brian Tiger Chow
2014-09-19 14:46:15 -07:00
parent a8a7caa088
commit 57e088bbff

View File

@ -24,13 +24,13 @@ type RoutingServer interface {
func VirtualRoutingServer() RoutingServer { func VirtualRoutingServer() RoutingServer {
return &hashTable{ return &hashTable{
m: make(map[u.Key]map[*peer.Peer]bool), providers: make(map[u.Key]peer.Map),
} }
} }
type hashTable struct { type hashTable struct {
lock sync.RWMutex lock sync.RWMutex
m map[u.Key]map[*peer.Peer]bool providers map[u.Key]peer.Map
} }
var TODO = errors.New("TODO") var TODO = errors.New("TODO")
@ -39,11 +39,11 @@ func (rs *hashTable) Announce(p *peer.Peer, k u.Key) error {
rs.lock.Lock() rs.lock.Lock()
defer rs.lock.Unlock() defer rs.lock.Unlock()
_, ok := rs.m[k] _, ok := rs.providers[k]
if !ok { if !ok {
rs.m[k] = make(map[*peer.Peer]bool) rs.providers[k] = make(peer.Map)
} }
rs.m[k][p] = true rs.providers[k][p.Key()] = p
return nil return nil
} }
@ -51,11 +51,11 @@ func (rs *hashTable) Providers(k u.Key) []*peer.Peer {
rs.lock.RLock() rs.lock.RLock()
defer rs.lock.RUnlock() defer rs.lock.RUnlock()
ret := make([]*peer.Peer, 0) ret := make([]*peer.Peer, 0)
peerset, ok := rs.m[k] peerset, ok := rs.providers[k]
if !ok { if !ok {
return ret return ret
} }
for peer, _ := range peerset { for _, peer := range peerset {
ret = append(ret, peer) ret = append(ret, peer)
} }
return ret return ret