feat(tvix/store): add redb PathInfoService
This provides a PathInfoService implementation using redb (https://github.com/cberner/redb) as the underlying storage engine. Both an in-memory variant, as well as a filesystem one is provided, similar how it's done with the sled implementation. Supersedes: https://cl.tvl.fyi/c/depot/+/11692 Change-Id: I744619c51bf2efd0fb63659b12a27cbe0b2fd6fc Signed-off-by: Ilan Joselevich <personal@ilanjoselevich.com> Reviewed-on: https://cl.tvl.fyi/c/depot/+/11995 Reviewed-by: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
This commit is contained in:
parent
dbe698042d
commit
9f10a71ec5
10 changed files with 318 additions and 0 deletions
|
|
@ -7,6 +7,7 @@ use rstest::*;
|
|||
use rstest_reuse::{self, *};
|
||||
|
||||
use super::PathInfoService;
|
||||
use crate::pathinfoservice::redb::RedbPathInfoService;
|
||||
use crate::pathinfoservice::MemoryPathInfoService;
|
||||
use crate::pathinfoservice::SledPathInfoService;
|
||||
use crate::proto::PathInfo;
|
||||
|
|
@ -27,6 +28,7 @@ use self::utils::make_bigtable_path_info_service;
|
|||
svc
|
||||
})]
|
||||
#[case::sled(SledPathInfoService::new_temporary().unwrap())]
|
||||
#[case::redb(RedbPathInfoService::new_temporary().unwrap())]
|
||||
#[cfg_attr(all(feature = "cloud",feature="integration"), case::bigtable(make_bigtable_path_info_service().await))]
|
||||
pub fn path_info_services(#[case] svc: impl PathInfoService) {}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue