Comparing version
@@ -627,3 +627,3 @@ const ReadyResource = require('ready-resource') | ||
for await (const { length, info } of this.system.flushes({ reverse: true, lt })) { | ||
for await (const { length, info } of SystemView.flushes(this.systemRef.core, { reverse: true, lt })) { | ||
for (let i = 0; i < info.views.length; i++) { | ||
@@ -633,3 +633,2 @@ if (i >= this.views.length) continue | ||
if (info.views[i].length > this.views[i].core.signedLength) continue | ||
return { length, force: true, key: this.system.core.key, indexers: info.indexers, views: info.views } | ||
@@ -636,0 +635,0 @@ } |
@@ -53,7 +53,17 @@ const Hyperbee = require('hyperbee') | ||
async * flushes ({ reverse, lt = this.db.version, gte = 0, wait = true } = {}) { | ||
for await (const data of this.db.createHistoryStream({ lt, gte, wait, reverse: true })) { | ||
if (!b4a.equals(data.key, INFO_KEY)) continue | ||
const info = c.decode(Info, data.value) | ||
yield { length: data.seq + 1, info } | ||
static async * flushes (core, { reverse, lt = core.length, gte = 0, wait = true } = {}) { | ||
if (lt <= 0) return | ||
// ensure block | ||
await core.get(lt - 1) | ||
const sys = new SystemView(core) | ||
try { | ||
for await (const data of sys.db.createHistoryStream({ lt, gte, wait, reverse: true })) { | ||
if (!b4a.equals(data.key, INFO_KEY)) continue | ||
const info = c.decode(Info, data.value) | ||
yield { length: data.seq + 1, info } | ||
} | ||
} finally { | ||
await sys.close() | ||
} | ||
@@ -60,0 +70,0 @@ } |
{ | ||
"name": "autobase", | ||
"version": "7.0.39", | ||
"version": "7.0.40", | ||
"description": "", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
187714
0.11%5081
0.16%