polkadot_subsystem_bench/availability/
av_store_helpers.rs1use crate::{environment::TestEnvironmentDependencies, mock::TestSyncOracle};
18use polkadot_node_core_av_store::{AvailabilityStoreSubsystem, Config};
19use polkadot_node_metrics::metrics::Metrics;
20use polkadot_node_subsystem_util::database::Database;
21use std::sync::Arc;
22
23mod columns {
24 pub const DATA: u32 = 0;
25 pub const META: u32 = 1;
26 pub const NUM_COLUMNS: u32 = 2;
27}
28
29const TEST_CONFIG: Config =
30 Config { col_data: columns::DATA, col_meta: columns::META, keep_finalized_for: 1 };
31
32pub fn new_av_store(dependencies: &TestEnvironmentDependencies) -> AvailabilityStoreSubsystem {
33 let metrics = Metrics::try_register(&dependencies.registry).unwrap();
34
35 AvailabilityStoreSubsystem::new(test_store(), TEST_CONFIG, Box::new(TestSyncOracle {}), metrics)
36}
37
38fn test_store() -> Arc<dyn Database> {
39 let db = kvdb_memorydb::create(columns::NUM_COLUMNS);
40 let db =
41 polkadot_node_subsystem_util::database::kvdb_impl::DbAdapter::new(db, &[columns::META]);
42 Arc::new(db)
43}