(bucket c n)
Like partition, but =n= specifies the number of buckets.
Like partition, but =n= specifies the number of buckets.
(deliver-and-add-batch nodes chldrn msgs)
Given a sequence of nodes with certain children, a sequence of corresponding sequences of said children, and finally a sequence of sequences of messages corresponding to those children, this delivers the messages to the children (recursively moving down the tree if necessary) and then adds these resulting sequences of children into the parent nodes.
Given a sequence of nodes with certain children, a sequence of corresponding sequences of said children, and finally a sequence of sequences of messages corresponding to those children, this delivers the messages to the children (recursively moving down the tree if necessary) and then adds these resulting sequences of children into the parent nodes.
(deliver-messages-batch nodes shaped-nodes msgs)
This is the process that drives it all. The recursion point back into this function (at a lower level in the tree) occurs in the function apply-messages-batched, so by the time this gets to rebalancing, the lower levels of the tree have already been balanced.
This is the process that drives it all. The recursion point back into this function (at a lower level in the tree) occurs in the function apply-messages-batched, so by the time this gets to rebalancing, the lower levels of the tree have already been balanced.
(flush-buffer-batched nodes)
Given a sequence of nodes, this flushes their buffers.
Given a sequence of nodes, this flushes their buffers.
(insert node msgs)
(insert store node msgs)
Entry point to the process of manipulating the btree. After some high-level bookkeeping, delegates to deliver-messages-batch.
Entry point to the process of manipulating the btree. After some high-level bookkeeping, delegates to deliver-messages-batch.
(keys-to-flush node)
Which keys need to be flushed?
Which keys need to be flushed?
(needs-balancing? node)
Are any of the node's children too small?
Are any of the node's children too small?
(persist-tree store old-root root)
Converts the entire tree back into pointer form, then persists the tree to the store. Returns the root node.
Converts the entire tree back into pointer form, then persists the tree to the store. Returns the root node.
(split node)
This method does not check whether the node is overflowing. It just splits it.
This method does *not* check whether the node is overflowing. It just splits it.
(split* node)
Splits a node. Uses `split-weight' to determine whether it favors maximally full or minimally full nodes in the result.
Splits a node. Uses `split-weight' to determine whether it favors maximally full or minimally full nodes in the result.
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close