Commit 8fe2111f authored by Kirill Smelkov's avatar Kirill Smelkov

.

parent 5411e0a9
......@@ -225,18 +225,19 @@ func (δBtail *ΔBtail) Tail() zodb.Tid { return δBtail.δZtail.Tail() }
// Track adds tree path to tracked set.
//
// path[0] signifies tree root.
// All path elements must be Tree except last one which must be Bucket.
// All path elements must be Tree except last one which, for non-empty tree, must be Bucket.
//
// Besides key (which might point to value or hole), δBtail will also track all
// keys covered by tracked leaf nodes. In particular after request for KeyMax or
// KeyMin to be tracked, δBtail will keep on tracking changes to maximum or
// minimum keys correspondingly.
// keys covered by leaf node. In particular after request for KeyMax or KeyMin
// to be tracked, δBtail will keep on tracking changes to maximum or minimum
// keys correspondingly.
//
// XXX objects in path must be with .PJar().At() == .head
//
// XXX catch cycles on add?
// XXX no need to pass in key? (-> all keys, covered by leaf keyrange, will be added to tracking set of keys)
func (δBtail *ΔBtail) Track(key Key, nodePath []Node) { // XXX Tree|Bucket; path[0] = root
// Objects in path must be with .PJar().At() == .Head()
func (δBtail *ΔBtail) Track(key Key, nodePath []Node) {
// NOTE key not needed for anything besides tracing
// (tracking set will be added with all keys, covered by leaf keyrange)
// XXX assert node.PJar().At() == .Head()
path := nodePathToPath(nodePath)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment