mirror of
https://github.com/bitcoinresearchkit/brk.git
synced 2026-07-23 17:08:10 -07:00
32 lines
748 B
Rust
32 lines
748 B
Rust
use brk_error::Result;
|
|
use brk_indexer::Indexer;
|
|
use vecdb::Exit;
|
|
|
|
use super::Vecs;
|
|
use crate::blocks;
|
|
|
|
impl Vecs {
|
|
pub(crate) fn compute(
|
|
&mut self,
|
|
indexer: &Indexer,
|
|
blocks: &blocks::Vecs,
|
|
exit: &Exit,
|
|
) -> Result<()> {
|
|
self.db.sync_bg_tasks()?;
|
|
|
|
let starting_lengths = indexer.safe_lengths();
|
|
|
|
self.spent.compute(indexer, exit)?;
|
|
self.count.compute(indexer, blocks, exit)?;
|
|
self.per_sec.compute(&self.count, &starting_lengths, exit)?;
|
|
self.by_type.compute(indexer, exit)?;
|
|
|
|
let exit = exit.clone();
|
|
self.db.run_bg(move |db| {
|
|
let _lock = exit.lock();
|
|
db.compact_deferred_default()
|
|
});
|
|
Ok(())
|
|
}
|
|
}
|