blocks.store.buffer
Buffer stores provide logical block storage which uses two backing stores to implement a buffer. New blocks are written to the buffer store, which can be flushed to write all of the blocks to the primary store. Reads return a unified view of the existing and buffered blocks.
buffer-block-store
(buffer-block-store & {:as opts})Create a new buffering block store.
:bufferBlock store to use for new writes.:primaryBlock store to use for flushed blocks.:predicate(optional) A predicate function which should return false for blocks which should not be buffered; instead, they will be written directly to the primary store.
clear!
(clear! store)Remove all blocks from the buffer. Returns a deferred which yields a summary of the deleted blocks.
flush!
(flush! store)Flush the store, writing all buffered blocks to the primary store. Returns a deferred which yields a summary of the flushed blocks.