Expose discovery cache over rest interface

This commit is contained in:
Jakob Borg
2014-05-12 22:08:55 -03:00
parent dd1197236d
commit 532b576fd5
2 changed files with 17 additions and 0 deletions

View File

@@ -98,6 +98,18 @@ func (d *Discoverer) Hint(node string, addrs []string) {
})
}
func (d *Discoverer) All() map[string][]string {
d.registryLock.RLock()
nodes := make(map[string][]string, len(d.registry))
for node, addrs := range d.registry {
addrsCopy := make([]string, len(addrs))
copy(addrsCopy, addrs)
nodes[node] = addrsCopy
}
d.registryLock.RUnlock()
return nodes
}
func (d *Discoverer) announcementPkt() []byte {
var addrs []Address
for _, astr := range d.listenAddrs {