mutable/servermap: add summarize_version

This commit is contained in:
Brian Warner 2008-08-11 20:19:30 -07:00
parent 376df2eb5a
commit a15ae52122

View File

@ -209,16 +209,20 @@ class ServerMap:
seqnums.append(0) seqnums.append(0)
return max(seqnums) return max(seqnums)
def summarize_version(self, verinfo):
"""Take a versionid, return a string that describes it."""
(seqnum, root_hash, IV, segsize, datalength, k, N, prefix,
offsets_tuple) = verinfo
return "seq%d-%s" % (seqnum, base32.b2a(root_hash)[:4])
def summarize_versions(self): def summarize_versions(self):
"""Return a string describing which versions we know about.""" """Return a string describing which versions we know about."""
versionmap = self.make_versionmap() versionmap = self.make_versionmap()
bits = [] bits = []
for (verinfo, shares) in versionmap.items(): for (verinfo, shares) in versionmap.items():
(seqnum, root_hash, IV, segsize, datalength, k, N, prefix, vstr = self.summarize_version(verinfo)
offsets_tuple) = verinfo
shnums = set([shnum for (shnum, peerid, timestamp) in shares]) shnums = set([shnum for (shnum, peerid, timestamp) in shares])
bits.append("%d*seq%d-%s" % bits.append("%d*%s" % (len(shnums), vstr))
(len(shnums), seqnum, base32.b2a(root_hash)[:4]))
return "/".join(bits) return "/".join(bits)
def recoverable_versions(self): def recoverable_versions(self):