@cryptotaxi247 / kubo / commits / 57e088bbf

fix(bitswap:testnet) use peer.Map

Brian Tiger Chow committed Sep 19, 2014 at 14:46 UTC 57e088bbff69bd9be485024a9454bbaf7e9b519e
1 file changed +8 -8
exchange/bitswap/testnet/routing.go
+8 -8
@@ -24,13 +24,13 @@ type RoutingServer interface {
24
25 func VirtualRoutingServer() RoutingServer {
26 return &hashTable{
27 - m: make(map[u.Key]map[*peer.Peer]bool),
27 + providers: make(map[u.Key]peer.Map),
28 }
29 }
30
31 type hashTable struct {
32 - lock sync.RWMutex
33 - m map[u.Key]map[*peer.Peer]bool
32 + lock sync.RWMutex
33 + providers map[u.Key]peer.Map
34 }
35
36 var TODO = errors.New("TODO")
@@ -39,11 +39,11 @@ func (rs *hashTable) Announce(p *peer.Peer, k u.Key) error {
39 rs.lock.Lock()
40 defer rs.lock.Unlock()
41
42 - _, ok := rs.m[k]
42 + _, ok := rs.providers[k]
43 if !ok {
44 - rs.m[k] = make(map[*peer.Peer]bool)
44 + rs.providers[k] = make(peer.Map)
45 }
46 - rs.m[k][p] = true
46 + rs.providers[k][p.Key()] = p
47 return nil
48 }
49
@@ -51,11 +51,11 @@ func (rs *hashTable) Providers(k u.Key) []*peer.Peer {
51 rs.lock.RLock()
52 defer rs.lock.RUnlock()
53 ret := make([]*peer.Peer, 0)
54 - peerset, ok := rs.m[k]
54 + peerset, ok := rs.providers[k]
55 if !ok {
56 return ret
57 }
58 - for peer, _ := range peerset {
58 + for _, peer := range peerset {
59 ret = append(ret, peer)
60 }
61 return ret