Rename some types/functions for clarity

This commit is contained in:
Andrew Ayer 2016-02-18 10:15:56 -08:00
parent 35eef25f4a
commit b47d35a005
3 changed files with 16 additions and 16 deletions

View File

@ -115,19 +115,19 @@ func hashChildren (left ct.MerkleTreeNode, right ct.MerkleTreeNode) ct.MerkleTre
return hasher.Sum(nil) return hasher.Sum(nil)
} }
type MerkleBuilder struct { type MerkleTreeBuilder struct {
stack []ct.MerkleTreeNode stack []ct.MerkleTreeNode
size uint64 // number of hashes added so far size uint64 // number of hashes added so far
} }
func ResumedMerkleBuilder (hashes []ct.MerkleTreeNode, size uint64) *MerkleBuilder { func ResumedMerkleTreeBuilder (hashes []ct.MerkleTreeNode, size uint64) *MerkleTreeBuilder {
return &MerkleBuilder{ return &MerkleTreeBuilder{
stack: hashes, stack: hashes,
size: size, size: size,
} }
} }
func (builder *MerkleBuilder) Add (hash ct.MerkleTreeNode) { func (builder *MerkleTreeBuilder) Add (hash ct.MerkleTreeNode) {
builder.stack = append(builder.stack, hash) builder.stack = append(builder.stack, hash)
builder.size++ builder.size++
size := builder.size size := builder.size
@ -139,9 +139,9 @@ func (builder *MerkleBuilder) Add (hash ct.MerkleTreeNode) {
} }
} }
func (builder *MerkleBuilder) Finish () ct.MerkleTreeNode { func (builder *MerkleTreeBuilder) Finish () ct.MerkleTreeNode {
if len(builder.stack) == 0 { if len(builder.stack) == 0 {
panic("MerkleBuilder.Finish called on an empty tree") panic("MerkleTreeBuilder.Finish called on an empty tree")
} }
for len(builder.stack) > 1 { for len(builder.stack) > 1 {
left, right := builder.stack[len(builder.stack)-2], builder.stack[len(builder.stack)-1] left, right := builder.stack[len(builder.stack)-2], builder.stack[len(builder.stack)-1]

View File

@ -159,7 +159,7 @@ func Main (argStateDir string, processCallback ctwatch.ProcessCallback) {
} }
if latestSTH.TreeSize > startIndex { if latestSTH.TreeSize > startIndex {
var merkleBuilder *ctwatch.MerkleBuilder var treeBuilder *ctwatch.MerkleTreeBuilder
if prevSTH != nil { if prevSTH != nil {
valid, nodes, err := scanner.CheckConsistency(prevSTH, latestSTH) valid, nodes, err := scanner.CheckConsistency(prevSTH, latestSTH)
if err != nil { if err != nil {
@ -173,18 +173,18 @@ func Main (argStateDir string, processCallback ctwatch.ProcessCallback) {
continue continue
} }
merkleBuilder = ctwatch.ResumedMerkleBuilder(nodes, prevSTH.TreeSize) treeBuilder = ctwatch.ResumedMerkleTreeBuilder(nodes, prevSTH.TreeSize)
} else { } else {
merkleBuilder = &ctwatch.MerkleBuilder{} treeBuilder = &ctwatch.MerkleTreeBuilder{}
} }
if err := scanner.Scan(int64(startIndex), int64(latestSTH.TreeSize), processCallback, merkleBuilder); err != nil { if err := scanner.Scan(int64(startIndex), int64(latestSTH.TreeSize), processCallback, treeBuilder); err != nil {
fmt.Fprintf(os.Stderr, "%s: Error scanning log: %s: %s\n", os.Args[0], logUri, err) fmt.Fprintf(os.Stderr, "%s: Error scanning log: %s: %s\n", os.Args[0], logUri, err)
exitCode = 1 exitCode = 1
continue continue
} }
rootHash := merkleBuilder.Finish() rootHash := treeBuilder.Finish()
if !bytes.Equal(rootHash, latestSTH.SHA256RootHash[:]) { if !bytes.Equal(rootHash, latestSTH.SHA256RootHash[:]) {
fmt.Fprintf(os.Stderr, "%s: %s: Validation of log entries failed - calculated tree root (%x) does not match signed tree root (%s)\n", os.Args[0], logUri, rootHash, latestSTH.SHA256RootHash) fmt.Fprintf(os.Stderr, "%s: %s: Validation of log entries failed - calculated tree root (%x) does not match signed tree root (%s)\n", os.Args[0], logUri, rootHash, latestSTH.SHA256RootHash)
exitCode = 1 exitCode = 1

View File

@ -77,7 +77,7 @@ func (s *Scanner) processerJob(id int, entries <-chan ct.LogEntry, processCert P
wg.Done() wg.Done()
} }
func (s *Scanner) fetch(r fetchRange, entries chan<- ct.LogEntry, merkleBuilder *MerkleBuilder) { func (s *Scanner) fetch(r fetchRange, entries chan<- ct.LogEntry, treeBuilder *MerkleTreeBuilder) {
success := false success := false
// TODO(alcutter): give up after a while: // TODO(alcutter): give up after a while:
for !success { for !success {
@ -88,8 +88,8 @@ func (s *Scanner) fetch(r fetchRange, entries chan<- ct.LogEntry, merkleBuilder
continue continue
} }
for _, logEntry := range logEntries { for _, logEntry := range logEntries {
if merkleBuilder != nil { if treeBuilder != nil {
merkleBuilder.Add(hashLeaf(logEntry.LeafBytes)) treeBuilder.Add(hashLeaf(logEntry.LeafBytes))
} }
logEntry.Index = r.start logEntry.Index = r.start
entries <- logEntry entries <- logEntry
@ -207,7 +207,7 @@ func (s *Scanner) CheckConsistency(first *ct.SignedTreeHead, second *ct.SignedTr
return valid, builderNodes, nil return valid, builderNodes, nil
} }
func (s *Scanner) Scan(startIndex int64, endIndex int64, processCert ProcessCallback, merkleBuilder *MerkleBuilder) error { func (s *Scanner) Scan(startIndex int64, endIndex int64, processCert ProcessCallback, treeBuilder *MerkleTreeBuilder) error {
s.Log("Starting scan..."); s.Log("Starting scan...");
s.certsProcessed = 0 s.certsProcessed = 0
@ -256,7 +256,7 @@ func (s *Scanner) Scan(startIndex int64, endIndex int64, processCert ProcessCall
*/ */
for start := startIndex; start < int64(endIndex); { for start := startIndex; start < int64(endIndex); {
end := min(start+int64(s.opts.BatchSize), int64(endIndex)) - 1 end := min(start+int64(s.opts.BatchSize), int64(endIndex)) - 1
s.fetch(fetchRange{start, end}, jobs, merkleBuilder) s.fetch(fetchRange{start, end}, jobs, treeBuilder)
start = end + 1 start = end + 1
} }
close(jobs) close(jobs)