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()?;
self.compute_value(indexer, exit)?;
self.count.compute(indexer, blocks, 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(())
}
}