 
 
 (defn buffer-block-store
-  "Creates a new buffering block store.
+  "Create a new buffering block store.
 
   - `:buffer`
     Block store to use for new writes.



(defn flush!
  "Flushes the store, writing all buffered blocks to the backing store. Returns
  a summary of the flushed blocks."
  [store]
  (->>
    (block/list (:buffer store))

    [this]
    (when-not (satisfies? store/BlockStore primary)
      (throw (IllegalStateException.
               (str "Cannot start buffer block store without a backing primary store: "
                    (pr-str primary)))))
    (when-not (satisfies? store/BlockStore buffer)
      (throw (IllegalStateException.
               (str "Cannot start buffer block store without a backing buffer store: "
                    (pr-str buffer)))))
    this)

