Load localVersion for all nodes

This commit is contained in:
Jakob Borg
2014-07-17 11:00:54 +02:00
parent 7943902d73
commit 91cc0cd05e
2 changed files with 41 additions and 6 deletions

View File

@@ -34,15 +34,18 @@ func NewSet(repo string, db *leveldb.DB) *Set {
db: db,
}
var lv uint64
ldbWithHave(db, []byte(repo), protocol.LocalNodeID[:], func(f protocol.FileInfo) bool {
if f.LocalVersion > lv {
lv = f.LocalVersion
var nodeID protocol.NodeID
ldbWithAllRepo(db, []byte(repo), func(node []byte, f protocol.FileInfo) bool {
copy(nodeID[:], node)
if f.LocalVersion > s.localVersion[nodeID] {
s.localVersion[nodeID] = f.LocalVersion
}
return true
})
s.localVersion[protocol.LocalNodeID] = lv
clock(lv)
if debug {
l.Debugf("loaded localVersion for %q: %#v", repo, s.localVersion)
}
clock(s.localVersion[protocol.LocalNodeID])
return &s
}