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