Files
panda-rpki-oss/src/repository/storage.rs
yuyr 5f46837b61
Some checks failed
ci / rust (push) Failing after 17s
ci / docker (push) Failing after 1m12s
ci / audit (push) Failing after 8s
20261015_4 修复Manifest编号与改名抗重放校验
2026-10-16 11:16:20 +08:00

46 lines
1.5 KiB
Rust

mod config;
mod keys;
mod memory;
mod pack;
use std::collections::HashSet;
use std::path::Path;
use rocksdb::checkpoint::Checkpoint;
use rocksdb::{ColumnFamily, DB, Direction, IteratorMode, Options, WriteBatch};
use serde::{Deserialize, Serialize};
use crate::repository::blob_store::{ExternalRawStoreDb, ExternalRepoBytesDb, RawObjectStore};
use config::*;
pub use config::{
ALL_COLUMN_FAMILY_NAMES, CF_MANIFEST_ANTI_ROLLBACK, CF_RAW_BY_HASH, CF_REPOSITORY_VIEW,
CF_RRDP_SOURCE, CF_RRDP_SOURCE_MEMBER, CF_RRDP_URI_OWNER, column_family_descriptors,
};
use keys::*;
pub(crate) use memory::memory_db_snapshot_for_column_families;
pub use memory::{
RocksDbColumnFamilyMemoryProperties, RocksDbMemoryDbSnapshot, RocksDbMemoryProperties,
RocksDbMemorySnapshot, RocksDbMemoryTotals,
};
use pack::compute_sha256_32;
pub use pack::{PackBytes, PackFile, PackTime};
pub struct RocksStore {
db: DB,
// The lock covers only history read/check/write, never network or validation.
manifest_history_commit: std::sync::Mutex<()>,
external_raw_store: Option<ExternalRawStoreDb>,
external_repo_bytes: Option<ExternalRepoBytesDb>,
}
include!("storage/models_core.rs");
include!("storage/models_summary.rs");
include!("storage/store_lifecycle.rs");
include!("storage/store_repository.rs");
include!("storage/store_manifest.rs");
include!("storage/store_transport_rrdp.rs");
include!("storage/verification.rs");
#[cfg(test)]
#[path = "storage/tests.rs"]
mod tests;