1pub mod block_garbage_collector;
42pub use block_garbage_collector::{
43 BgcBlockRecord, BgcCollectorConfig, BgcCollectorStats, BgcGcPolicy, BgcGcResult,
44 BgcSweepResult, BlockGarbageCollector,
45};
46
47pub mod content_dedup_index;
48pub use content_dedup_index::{
49 ContentDedupConfig, ContentDedupResult, ContentDedupStats, ContentDeduplicationIndex,
50 ContentHash, DedupIndexError,
51};
52
53pub mod block_validator;
54pub use block_validator::{
55 StorageBlockValidator, ValidationReport, ValidationResult, ValidationRule, ValidatorStats,
56};
57
58pub mod block_verifier;
59pub use block_verifier::{
60 BlockRecord, StorageBlockVerifier, VerificationReport, VerificationResult, VerifierStats,
61};
62
63pub mod block_index;
64pub mod block_manifest;
65pub mod block_packer;
66pub mod index_builder;
67pub mod index_recovery;
68pub use index_recovery::{
69 IndexEntry as IrIndexEntry, IndexRecovery, RawBlock, RecoveryConfig, RecoveryStats,
70 RecoveryStatus,
71};
72pub mod metrics_collector;
73pub mod storage_metrics_collector;
74pub use storage_metrics_collector::{
75 AggregatedStats, CollectorConfig, CollectorStats, MetricKind, MetricSample, MetricSeries,
76 StorageMetricsCollector as SmcStorageMetricsCollector, TimeBucket,
77};
78pub mod eviction_policy;
79pub use eviction_policy::{
80 CacheEntry as EvictionCacheEntry, EvictionCandidate, EvictionStrategy,
81 PolicyStats as EvictionPolicyStats, StorageEvictionPolicy,
82};
83pub mod access_logger;
84pub mod access_predictor;
85pub mod analyzer;
86pub mod audit_trail;
87pub mod eviction_simulator;
88pub mod fragmentation_analyzer;
89pub mod heatmap_tracker;
90pub use audit_trail::{
91 AuditEntry, AuditEventType, AuditFilter, AuditTrail, AuditTrailConfig, AuditTrailStats,
92};
93pub mod block_migration_planner;
94pub use block_migration_planner::{
95 BlockMigrationPlanner, BmpBlockMeta, BmpMigrationPlan, BmpPlanStatus, BmpPlannerConfig,
96 BmpPlannerStats, BmpPriorityPolicy,
97};
98pub mod arm_profiler;
99pub mod auto_tuner;
100pub mod batch;
101pub mod block_cache;
102pub mod block_stream;
103pub mod blockstore;
104pub mod bloom;
105pub mod compaction;
106pub mod compaction_advisor;
107pub mod compression_advisor;
108pub mod compression_pipeline;
109pub use compression_pipeline::{
110 CompressionAlgo as CpCompressionAlgo, CompressionError as CpCompressionError,
111 CompressionHint as CpCompressionHint, CompressionResult as CpCompressionResult,
112 PipelineConfig as CpPipelineConfig, PipelineStage as CpPipelineStage,
113 PipelineStats as CpPipelineStats, StorageCompressionPipeline,
114};
115pub mod compression_registry;
116pub use compression_registry::{
117 CodecProfile, CodecRecommendation, CompressionCodec as RegistryCompressionCodec,
118 CompressionRegistryStats, DataCharacteristics, StorageCompressionRegistry,
119};
120pub mod compactor;
121pub use compactor::{
122 CompactionResult as RegionCompactionResult, CompactionState as RegionCompactionState,
123 CompactorConfig as RegionCompactorConfig, CompactorStats as RegionCompactorStats,
124 FragmentationReport as RegionFragmentationReport, StorageCompactor,
125};
126pub mod cache;
127pub mod car;
128pub mod chunk_manager;
129pub mod circuit_breaker;
130pub mod cold_storage;
131pub use cold_storage::{
132 fnv1a_cold, ColdStorageManager, ColdStorageStats, StorageTier as CsStorageTier,
133 TierPolicy as CsTierPolicy, TieredBlock as CsTieredBlock,
134};
135pub mod cluster;
136pub mod coalesce;
137#[cfg(feature = "compression")]
138pub mod compression;
139pub mod corruption_repair;
140pub use corruption_repair::{
141 BlockWithParity, CorruptionRepairer, CorruptionReport, CorruptionType, RepairAction,
142 RepairConfig, RepairStats,
143};
144pub mod cost_analytics;
145pub mod cost_estimator;
146pub mod data_integrity_auditor;
147pub use data_integrity_auditor::{
148 compute_adler32 as dia_compute_adler32, compute_checksum as dia_compute_checksum,
149 compute_crc32 as dia_compute_crc32, compute_fnv_xor64 as dia_compute_fnv_xor64, AuditConfig,
150 AuditResult, AuditorStats, BlockChecksum, ChecksumAlgo, DataIntegrityAuditor, RepairRecord,
151};
152pub mod data_integrity_checker;
153pub use data_integrity_checker::{
154 BlockRecord as DicBlockRecord, DataIntegrityChecker, IntegrityCheckerConfig, IntegrityReport,
155 IntegrityStats, IntegrityStatus,
156};
157pub mod datacenter;
158pub mod dedup;
159pub mod dedup_tracker;
160pub mod deduplication_pipeline;
161pub use deduplication_pipeline::{
162 BlockEntry, DedupPipelineStats, DedupResult as DpDedupResult, DedupStage,
163 DeduplicationPipeline, PipelineConfig,
164};
165pub mod diagnostics;
166#[cfg(feature = "encryption")]
167pub mod encryption;
168pub mod eventual_consistency;
169pub mod exporters;
170pub mod garbage_collector;
171#[cfg(feature = "gateway")]
172pub mod gateway;
173pub use garbage_collector::{
174 GcError, GcObject, GcObjectId, GcPhase, StorageGarbageCollector, StorageGcConfig, StorageGcRun,
175 StorageGcStats,
176};
177
178pub mod gc;
179pub mod gc_planner;
180pub mod gradient;
181#[cfg(feature = "graphql")]
182pub mod graphql;
183pub mod health;
184#[cfg(feature = "sled-backend")]
185pub mod helpers;
186pub mod integrity_checker;
187pub mod integrity_scanner;
188pub mod lifecycle;
190pub mod memory;
191pub mod metrics;
192pub mod migration;
193#[cfg(feature = "mmap")]
194pub mod mmap;
195pub mod otel;
196#[cfg(feature = "parity-db-backend")]
197pub mod paritydb;
198pub mod pinning;
199pub mod pool;
200pub mod prefetch;
201pub mod profiler;
202pub mod profiling;
203pub mod prometheus;
204pub mod query_optimizer;
205pub mod quota;
206pub mod quota_enforcer;
207pub mod read_ahead;
208pub use quota_enforcer::{
209 NamespaceQuota as EnforcerNamespaceQuota, QuotaEnforcerConfig, QuotaEnforcerStats, QuotaLevel,
210 StorageQuotaEnforcer,
211};
212pub mod quota_manager;
213pub mod raft;
214pub mod rate_limit;
215pub mod replication;
216pub mod replication_tracker;
217pub mod retention_engine;
218pub mod retention_policy;
219pub mod retry;
220#[cfg(feature = "s3")]
221pub mod s3;
222pub mod safetensors;
223pub mod snapshot_diff;
224pub use snapshot_diff::{
225 DiffEntry, DiffKind, DiffStats as SnapshotDiffStats, SnapshotDiffResult,
226 SnapshotEntry as SnapshotDiffEntry, StorageSnapshotDiff,
227};
228pub mod snapshot_differ;
229pub mod snapshot_manager;
230pub use snapshot_manager::{
231 fnv1a_64 as snapshot_fnv1a_64,
232 LegacySnapshot,
233 LegacySnapshotDiff as ManagerSnapshotDiff,
234 LegacySnapshotEntry,
235 LegacyStorageSnapshotManager,
237 SnapshotConfig,
238 SnapshotDelta,
239 SnapshotEntry as SsmSnapshotEntry,
240 SnapshotError,
241 SnapshotId,
242 SnapshotKind,
243 SnapshotManagerStats,
244 SnapshotState,
245 SnapshotStats as SsmSnapshotStats,
246 SsmSnapshot,
247 StorageSnapshot,
248 StorageSnapshotManager,
250 StorageState as SsmStorageState,
251};
252
253pub mod streaming;
254pub mod tier_migration_engine;
255pub use tier_migration_engine::{
256 BlockMeta as TmBlockMeta, MigrationAction as TmMigrationAction,
257 MigrationReason as TmMigrationReason, MigrationResult as TmMigrationResult, MigratorConfig,
258 MigratorStats, StorageTier as TmStorageTier, StorageTierMigrator, TierPolicy as TmTierPolicy,
259};
260
261pub mod content_addressable_cache;
262pub mod tier_balancer;
263pub mod tier_manager;
264pub mod tier_migrator;
265pub mod tiering;
266pub mod traits;
267pub mod transport;
268pub mod ttl;
269pub mod utils;
270pub mod vcs;
271pub mod wal;
272pub mod workload;
273pub mod write_buffer;
274pub mod write_journal;
275pub use content_addressable_cache::{
276 CacheConfig as CacCacheConfig, CacheEntry as CacCacheEntry, CacheError,
277 CacheStats as CacCacheStats, ContentAddressableCache, EvictionPolicy as CacEvictionPolicy,
278 LruNode,
279};
280
281pub mod content_addressed_cache_v2;
282pub use content_addressed_cache_v2::{
283 Cac2CacheConfig, Cac2CacheStats, Cac2Cid, Cac2Entry, Cac2EvictionRecord, Cac2Tier,
284 ContentAddressedCacheV2,
285};
286
287pub mod hotspot_detector;
288
289pub use access_predictor::{
290 AccessEvent, AccessPattern as PredictorAccessPattern, PredictionResult, PredictorStats,
291 StorageAccessPredictor,
292};
293pub use analyzer::{
294 Category, Difficulty, OperationStats, OptimizationRecommendation, Priority, SizeDistribution,
295 StorageAnalysis, StorageAnalyzer, WorkloadCharacterization, WorkloadType,
296};
297pub use arm_profiler::{
298 hash_block, ArmFeatures, ArmPerfCounter, ArmPerfReport, LowPowerBatcher, PowerProfile,
299 PowerStats,
300};
301pub use auto_tuner::{
302 AutoTuner, AutoTunerConfig, TuningPresets, TuningRecommendation, TuningReport,
303};
304pub use batch::{batch_delete, batch_get, batch_has, batch_put, BatchConfig, BatchResult};
305pub use block_index::{
306 BlockIndexEntry, BlockIndexStats, IndexEntry, IndexKey, IndexQuery, IndexStats,
307 SecondaryBlockIndex, StorageBlockIndex,
308};
309pub use block_manifest::{
310 fnv1a, ManifestEntry, ManifestFilter, ManifestStats, StorageBlockManifest,
311};
312pub use block_packer::{
313 fnv1a as packer_fnv1a, Pack, PackEntry, PackerConfig, PackerStats, StorageBlockPacker,
314};
315pub use block_stream::{
316 BlockChunk, BlockStreamIterator, BlockStreamState, StreamConfig as BlockStreamConfig,
317 StreamStats as BlockStreamStats,
318};
319#[cfg(feature = "sled-backend")]
320pub use blockstore::SledBlockStore;
321pub use blockstore::{BlockStoreConfig, DeduplicationStats, DeduplicationStatsSnapshot};
322pub use bloom::{
323 BloomBlockStore, BloomConfig, BloomFilter, BloomFilterConfig, BloomSnapshot, BloomStats,
324 CidBloomFilter,
325};
326pub use cache::{
327 BlockCache, CacheConfig, CacheStats, CacheStatsSnapshot, CachedBlockStore, LegacyCacheStats,
328 TieredBlockCache, TieredCacheStats, TieredCachedBlockStore,
329};
330pub use car::{
331 export_to_car, import_from_car, CarHeader, CarReadStats, CarReader, CarWriteStats, CarWriter,
332};
333pub use circuit_breaker::{CircuitBreaker, CircuitState, CircuitStats};
334pub use cluster::{ClusterConfig, ClusterCoordinator, ClusterStats, NodeHealth, NodeInfo};
335pub use coalesce::{CoalesceConfig, CoalesceStats, CoalescingBlockStore};
336pub use compaction::{CompactionConfig, CompactionScheduler};
337#[cfg(feature = "compression")]
338pub use compression::{
339 compress_block, compress_block_with_algorithm, compress_block_with_level,
340 compress_block_with_stats, decompress_block, BlockCompressStats, BlockCompressionStats,
341 CompressionAlgorithm, CompressionBlockStore, CompressionConfig, MAGIC_LZ4, MAGIC_RAW,
342 MAGIC_SNAPPY, MAGIC_ZSTD, MIN_COMPRESS_SIZE,
343};
344pub use cost_analytics::{
345 CloudProvider, CostAnalyzer, CostBreakdown, CostProjection, CostTier, TierCostModel,
346 TierOption, TierRecommendation,
347};
348pub use datacenter::{
349 CrossDcStats, Datacenter, DatacenterId, LatencyAwareSelector, MultiDatacenterCoordinator,
350 Region, ReplicationPolicy,
351};
352pub use dedup::{ChunkingConfig, DedupBlockStore, DedupStats};
353pub use diagnostics::{
354 BenchmarkComparison, DiagnosticsReport, HealthMetrics, PerformanceMetrics, StorageDiagnostics,
355};
356#[cfg(feature = "encryption")]
357pub use encryption::{Cipher, EncryptedBlockStore, EncryptionConfig, EncryptionKey};
358pub use eventual_consistency::{
359 ConflictResolution, ConsistencyLevel, EventualStore, EventualStoreStats, VersionVector,
360 VersionedValue,
361};
362pub use exporters::{BatchExporter, ExportFormat, MetricExporter};
363#[cfg(feature = "gateway")]
364pub use gateway::{GatewayBlockStore, GatewayConfig, HybridBlockStore};
365#[cfg(feature = "sled-backend")]
366pub use gc::SledSnapshotPinRegistry;
367pub use gc::{
368 snapshot_pin_id, GarbageCollector, GcConfig, GcPolicy, GcResult, GcScheduler, GcStats,
369 GcStatsSnapshot, OrphanGarbageCollector, OrphanGcConfig, OrphanGcResult, SnapshotPinRegistry,
370};
371pub use gc_planner::{GCCandidate, GCConfig, GCPlan, GCPlannerStats, StorageGCPlanner};
372pub use gradient::{
373 CompressionStats, DeltaEncoder, GradientData, GradientStore, ProvenanceMetadata,
374};
375#[cfg(feature = "graphql")]
376pub use graphql::{
377 create_schema, BlockConnection, BlockFilter, BlockMetadata, BlockQuerySchema, BlockStats,
378 QueryRoot, SortField, SortOrder,
379};
380pub use health::{
381 AggregateHealthResult, DetailedHealthStatus, HealthCheck, HealthCheckResult, HealthChecker,
382 HealthStatus, SimpleHealthCheck,
383};
384pub mod health_monitor;
385pub use health_monitor::{
386 HealthMonitorConfig, HealthMonitorStats, MonitorHealthCheck, MonitorHealthStatus,
387 StorageHealthMonitor,
388};
389
390pub mod storage_health_monitor;
391#[cfg(all(feature = "sled-backend", feature = "encryption"))]
392pub use helpers::encrypted_production_stack;
393#[cfg(feature = "sled-backend")]
394pub use helpers::{
395 blockchain_stack, cache_stack, cdn_edge_stack, coalescing_memory_stack,
396 deduplicated_production_stack, development_stack, embedded_stack, ingestion_stack, iot_stack,
397 media_streaming_stack, memory_stack, ml_model_stack, monitored_production_stack,
398 production_stack, read_optimized_stack, resilient_stack, testing_stack, ttl_production_stack,
399 write_optimized_stack, StorageStackBuilder,
400};
401#[cfg(all(feature = "sled-backend", feature = "compression"))]
402pub use helpers::{compressed_production_stack, ultimate_production_stack};
403#[cfg(all(feature = "sled-backend", feature = "compression"))]
404pub use helpers::{distributed_fs_stack, scientific_archive_stack};
405pub use storage_health_monitor::{
406 ShmAlert, ShmCategory, ShmHealthSnapshot, ShmMonitorConfig, ShmMonitorStats, ShmProbe,
407 ShmProbeId, ShmSeverity, ShmStatus, StorageHealthMonitor as ShmStorageHealthMonitor,
408};
409pub use lifecycle::{
411 BlockMetadata as LifecycleBlockMetadata, LifecycleAction, LifecycleActionResult,
412 LifecycleCondition, LifecyclePolicyConfig, LifecyclePolicyManager, LifecycleRule,
413 LifecycleStatsSnapshot, StorageTier,
414};
415pub use memory::MemoryBlockStore;
416pub use metrics::{MetricsBlockStore, StorageMetrics};
417pub use migration::{
418 estimate_migration, migrate_storage, migrate_storage_batched, migrate_storage_verified,
419 migrate_storage_with_progress, validate_migration, BlockMigrationStats, MigrationConfig,
420 MigrationEstimate, StorageMigrator,
421};
422pub use migration::{
423 MigrationError, MigrationPlan, MigrationRecord, MigrationRunner, MigrationStats,
424 MigrationStatsSnapshot, MigrationStatus, MigrationStep, SchemaVersion,
425};
426#[cfg(feature = "mmap")]
427pub use mmap::{MmapBlockStore, MmapConfig};
428pub use otel::OtelBlockStore;
429#[cfg(feature = "parity-db-backend")]
430pub use paritydb::{ParityDbBlockStore, ParityDbConfig, ParityDbPreset};
431pub use pinning::{PinInfo, PinManager, PinSet, PinStatsSnapshot, PinType};
432pub use pool::{BackendConfig, BackendId, PoolConfig, PoolStats, RoutingStrategy, StoragePool};
433pub use prefetch::{
434 AccessPattern as PrefetchAccessPattern, PredictivePrefetcher, PrefetchConfig,
435 PrefetchPrediction, PrefetchStatsSnapshot,
436};
437pub use profiler::{
438 ComparativeProfiler, ComparisonReport, ProfileConfig, ProfileReport, RegressionDetector,
439 RegressionResult, StorageProfiler,
440};
441pub use profiling::{BatchProfiler, LatencyHistogram, PerformanceProfiler, ThroughputTracker};
442pub use prometheus::{PrometheusExporter, PrometheusExporterBuilder};
443pub use query_optimizer::{
444 OptimizerConfig, QueryLogEntry, QueryOptimizer, QueryPlan, QueryStrategy, Recommendation,
445 RecommendationCategory, RecommendationPriority,
446};
447pub use quota::{
448 QuotaBlockStore, QuotaConfig, QuotaManager, QuotaManagerConfig, QuotaReport, QuotaStatus,
449 QuotaUsageSnapshot, TenantId, ViolationType,
450};
451pub use read_ahead::{PrefetchHint, ReadAheadPattern, ReadAheadScheduler, ReadAheadStats};
452pub mod quota_registry;
453pub use chunk_manager::{
454 fnv1a_u64 as chunk_fnv1a_u64, Chunk, ChunkManagerStats, ChunkState, ChunkedObject,
455 StorageChunkManager,
456};
457pub use fragmentation_analyzer::{
458 CompactionCandidate, FragmentationReport, StorageExtent, StorageFragmentationAnalyzer,
459};
460pub use heatmap_tracker::{HeatBucket, HeatEntry, HeatmapStats, StorageHeatmapTracker};
461pub use quota_registry::{
462 QuotaEntry, QuotaKind, QuotaViolation, RegistryStats, StorageQuotaRegistry,
463 ViolationType as RegistryViolationType,
464};
465pub use raft::{
466 AppendEntriesRequest, AppendEntriesResponse, Command, LogEntry, LogIndex, NodeId, NodeState,
467 RaftConfig, RaftNode, RaftStats, RequestVoteRequest, RequestVoteResponse, Term,
468};
469pub use rate_limit::{RateLimitAlgorithm, RateLimitConfig, RateLimitStats, RateLimiter};
470pub use replication::{
471 ConflictStrategy, ReplicationManager, ReplicationState, Replicator, SyncResult, SyncStrategy,
472};
473pub use replication_tracker::{
474 BlockReplicationEntry, ReplicaLocation, ReplicationStats as BlockReplicationStats,
475 ReplicationStatus, ReplicationTask, StorageReplicationTracker,
476};
477pub use retention_policy::{
478 BlockRecord as RetentionBlockRecord, PolicyDecision, RetentionAction, RetentionEntry,
479 RetentionPolicyStats, RetentionRule, RetentionStats, StorageRetentionPolicy,
480 StorageRetentionPolicyEngine, TickRetentionAction, TickRetentionRule,
481};
482pub use retry::{BackoffStrategy, JitterType, RetryPolicy, RetryStats, Retryable};
483#[cfg(feature = "s3")]
484pub use s3::{S3BlockStore, S3Config};
485pub use safetensors::{
486 ChunkConfig, ChunkedTensor, DType, ModelStats, SafetensorsHeader, SafetensorsManifest,
487 SafetensorsStore, TensorInfo,
488};
489pub use streaming::{
490 BlockReader, ByteRange, PartialBlock, StreamConfig, StreamingBlockStore, StreamingWriter,
491};
492pub use tier_balancer::{BalancerStats, MoveTask, StorageTierBalancer, TierKind, TierStatus};
493pub use tier_manager::{
494 BlockTierRecord, StorageTier as TierManagerStorageTier, StorageTierManager, TierPolicy,
495 TierStats, TierStatsSnapshot as TierManagerStatsSnapshot, TierTransition,
496};
497pub use tiering::{AccessStats, AccessTracker, Tier, TierConfig, TierStatsSnapshot, TieredStore};
498pub use traits::BlockStore as BlockStoreTrait;
499#[cfg(feature = "quic")]
500pub use transport::QuicTransport;
501pub use transport::{
502 InMemoryTransport, Message as TransportMessage, TcpTransport, Transport, TransportConfig,
503};
504pub use ttl::{TtlBlockStore, TtlCleanupResult, TtlConfig, TtlStats};
505pub use utils::{
506 compute_cid, compute_total_size, create_block, create_blocks_batch, deduplicate_blocks,
507 estimate_compression_ratio, extract_cids, filter_blocks_by_size, find_duplicates,
508 generate_compressible_blocks, generate_compressible_data, generate_dedup_dataset,
509 generate_incompressible_data, generate_mixed_size_blocks, generate_pattern_blocks,
510 generate_random_block, generate_random_blocks, group_blocks_by_size, sample_blocks,
511 sort_blocks_by_size_asc, sort_blocks_by_size_desc, validate_block_integrity,
512 validate_blocks_batch, BlockStatistics,
513};
514pub use vcs::{
515 Author, Commit, CommitBuilder, MergeResult, MergeStrategy, Ref, RefType, VersionControl,
516};
517pub use wal::{
518 fnv1a_32, StorageWalEntry, StorageWalStats, StorageWriteAheadLog, WalConfig, WalEntry,
519 WalEntryKind, WalError, WalOp, WalStats, WalStatsSnapshot, WriteAheadLog,
520};
521pub use workload::{
522 OperationMix, SizeDistribution as WorkloadSizeDistribution, WorkloadConfig, WorkloadPattern,
523 WorkloadPresets, WorkloadResult, WorkloadSimulator,
524};
525pub use write_buffer::{
526 BufferConfig, BufferedEntry, FlushResult, StorageWriteAheadBuffer, WriteOp,
527};
528pub use write_journal::{
529 fnv1a as journal_fnv1a, JournalCursor, JournalEntry, JournalEntryKind, JournalStats,
530 StorageWriteJournal,
531};
532pub mod object_store;
533pub use hotspot_detector::{
534 AccessEvent as HotspotAccessEvent, AccessType, BlockAccessRecord, DetectorConfig,
535 HotspotDetectorStats, HotspotScore, StorageHotspotDetector,
536};
537pub use object_store::{ObjectStoreStats, ObjectVersion, StorageObjectStore, StoredObject};
538
539pub mod blockstore_sharding;
540pub use blockstore_sharding::{
541 BlockRecord as BssBlockRecord, BlockStoreGlobalStats, BlockStoreSharding, ShardKey,
542 ShardMetrics, ShardingConfig, ShardingError,
543};
544
545pub mod migration_planner;
546pub use migration_planner::{
547 MigrationDirection, MigrationRecord as PlannerMigrationRecord,
548 MigrationStatus as PlannerMigrationStatus, MigrationTask, PlannerStats,
549 StorageMigrationPlanner, StorageTier as MigrationStorageTier,
550};
551
552pub mod transaction_log;
553pub use transaction_log::{
554 StorageTransactionLog, Transaction, TransactionId, TransactionStatus, TxError, TxOperation,
555 TxStats,
556};
557
558pub mod block_compactor;
559pub use block_compactor::{
560 BlockFragment, CompactionPlan, CompactionSegment, CompactorConfig, CompactorStats,
561 StorageBlockCompactor,
562};
563
564pub mod access_log;
565pub use access_log::{
566 AccessLogEntry, AccessLogStats, AccessPattern as LogAccessPattern, LogConfig, LogOperation,
567 StorageAccessLog,
568};
569
570pub mod access_tracker;
571pub use access_tracker::{
572 AccessRecord, AccessTracker as AtAccessTracker, TrackerConfig, TrackerStats,
573};
574
575pub mod metadata_index;
576pub use metadata_index::{
577 MetadataField, MetadataIndexEntry, MetadataIndexStats, MetadataQuery, MetadataQueryResult,
578 MetadataSortField, StorageMetadataIndex,
579};
580
581pub mod replication_manager;
582pub use replication_manager::{
583 BlockReplicas, ReplicaInfo, ReplicaNode, ReplicationConfig as ReplicationManagerConfig,
584 ReplicationError, ReplicationManagerStats, ReplicationState as ReplicaReplicationState,
585 RmReplicaLocation, RmReplicationPolicy, RmReplicationStats, RmReplicationStatus,
586 StorageReplicationManager,
587};
588
589pub mod io_scheduler;
590pub use io_scheduler::{
591 IODirection, IOPriority, IORequest, IOSchedulerStats, SchedulerConfig, StorageIOScheduler,
592};
593
594pub mod encryption_layer;
595pub use encryption_layer::{
596 CipherMode, EncryptedBlock, EncryptionLayerConfig, EncryptionLayerStats, StorageEncryptionLayer,
597};
598
599pub mod storage_encryption_layer;
600pub use storage_encryption_layer::{
601 SelCipher, SelEncryptedBlockRecord, SelEncryptionConfig, SelEncryptionStats,
602 StorageEncryptionLayer as SelStorageEncryptionLayer,
603};
604
605pub mod event_log;
606pub use event_log::{EventLogStats, EventSeverity, EventType, StorageEvent, StorageEventLog};
607
608pub mod storage_benchmark;
609pub use storage_benchmark::{
610 BenchmarkConfig, BenchmarkOp, BenchmarkResult, BenchmarkStats, LatencySample, StorageBenchmark,
611};
612
613pub mod block_cache_manager;
614pub use block_cache_manager::{
615 BcmCacheConfig, BcmCacheStats, BcmCachedBlock, BlockCacheManager, CacheTier, EvictionPolicy,
616};
617
618pub mod storage_quota_manager;
619pub use storage_quota_manager::{
620 ObjectRecord, QuotaError, QuotaNamespace, QuotaPolicy, QuotaStats, SqmEvictionStrategy,
621 SqmQuotaEntry, SqmQuotaViolation, StorageQuotaManager,
622};
623
624pub mod content_addressed_archive;
625pub use content_addressed_archive::{
626 compute_cid as caa_compute_cid, ArchiveBlock, ArchiveConfig, ArchiveEntry, ArchiveError,
627 ArchiveIndex, ArchiveStats, ContentAddressedArchive,
628};
629
630pub mod storage_event_log;
631pub use storage_event_log::{
632 event_checksum,
633 event_cid,
634 sel_fnv1a_64,
635 EventAggregation,
636 EventFilter,
637 EventId,
639 EventLogConfig,
640 EventLogError,
641 EventQuery,
642 RetentionPolicy,
643 SelEventLogStats,
644 SelEventType,
645 SelStorageEvent,
646 SelStorageEventLog,
647 StorageEventKind,
649};
650
651pub mod object_lifecycle;
652pub use object_lifecycle::{
653 LifecycleError, ManagedObject, ObjectLifecycleManager, OlmLifecycleAction, OlmLifecycleState,
654 OlmLifecycleStats, OlmRetentionRule,
655};
656
657pub mod prefetch_engine;
658pub use prefetch_engine::{
659 CoAccessPair, PeAccessEvent, PeAccessPattern, PeAccessType, PeConfig, PePrefetchHint,
660 PePrefetchStats, StoragePrefetchEngine,
661};
662
663pub mod block_fragment_store;
664pub use block_fragment_store::{
665 bfs_fnv1a_32, AssembledBlock, BfsFragment, BlockFragmentStore, FragmentError, FragmentId,
666 FragmentSet, FragmentSetState, FragmentStats,
667};
668
669pub mod mirror_sync;
670pub use mirror_sync::{
671 fnv1a_64 as mirror_sync_fnv1a_64, ConflictType, MirrorId, MirrorSyncStats,
672 MsConflictResolution, MsSyncResult, StorageMirrorSync, SyncConflict, SyncItem, SyncOperation,
673 SyncPlan,
674};
675
676pub mod checksum_engine;
677pub use checksum_engine::{
678 adler32 as ce_adler32, blake3_256_simple as ce_blake3_256_simple, crc32_iso as ce_crc32_iso,
679 djb2 as ce_djb2, fnv1a_64 as ce_fnv1a_64, murmur3_32 as ce_murmur3_32,
680 xxhash64_simple as ce_xxhash64_simple, CeVerificationResult, Checksum, ChecksumAlgorithm,
681 ChecksumRecord as CeChecksumRecord, ChecksumStats, StorageChecksumEngine,
682};
683
684pub mod wal_replay;
685pub use wal_replay::{
686 ReplayPolicy as WrReplayPolicy, ReplayState as WrReplayState, ReplayStats as WrReplayStats,
687 StorageWALReplay, WalEntry as WrWalEntry, WalEntryType as WrWalEntryType,
688 WalStats as WrWalStats,
689};
690
691pub mod block_access_optimizer;
692pub use block_access_optimizer::{
693 AccessEvent as BaoAccessEvent, AccessPattern as BaoAccessPattern, BlockAccessOptimizer,
694 CoAccessPair as BaoCoAccessPair, OptimizerConfig as BaoOptimizerConfig, OptimizerStats,
695 PrefetchRecommendation,
696};
697
698pub mod block_index_rebuild;
699pub use block_index_rebuild::{
700 BlockIndexRebuild, BlockScanEntry, IndexEntry as BirIndexEntry, RebuildConfig, RebuildPhase,
701 RebuildProgress, RebuildStats,
702};
703
704pub mod object_version_store;
705pub use object_version_store::{
706 ObjectVersionStore, OvsGcPolicy, OvsObjectVersion, VersionBranch, VersionQuery,
707 VersionStoreConfig, VsError, VsStats,
708};
709
710pub mod merkle_proof_verifier;
711pub use merkle_proof_verifier::{
712 MerkleHash, MerkleLeaf, MerkleProof, MerkleProofVerifier, ProofStep,
713 TreeStats as MerkleTreeStats, UpdateProof as MerkleUpdateProof,
714 VerifierError as MerkleVerifierError,
715};
716
717pub mod storage_shard_balancer;
718pub use storage_shard_balancer::{
719 fnv1a_64 as ssb_fnv1a_64, xorshift64 as ssb_xorshift64, BalancerConfig, BalancerError,
720 RebalanceOp, RebalancePolicy, ShardAssignment, ShardNode, SsbBalancerStats,
721 StorageShardBalancer,
722};
723
724pub mod storage_quota_enforcer;
725pub use storage_quota_enforcer::{
726 EnforcementPolicy, EnforcerConfig, GrowthForecast, NamespaceId, QuotaLimit, QuotaUsage,
727 QuotaViolation as SqeQuotaViolation, SqeStorageQuotaEnforcer, UsageSample, ViolationKind,
728};
729
730pub mod block_deduplicator;
731pub use block_deduplicator::{
732 fnv1a_64 as bdd_fnv1a_64, BlockDeduplicator, Chunk as BddChunk, ChunkHash, ChunkRef,
733 ChunkingConfig as BddChunkingConfig, DeduplicationStats as BddDeduplicationStats,
734 DeduplicatorError, ObjectManifest,
735};
736
737pub mod object_storage_tiering;
738pub use object_storage_tiering::{
739 ObjectStorageTiering, OstStorageTier, OstTierConfig, OstTierPolicy, OstTierTransition,
740 TieredObject, TieringError, TieringStats,
741};
742
743pub mod write_ahead_log;
744pub use write_ahead_log::{
745 fnv1a_64 as wal2_fnv1a_64, RecoveryResult, Transaction as WalTransaction, TxState,
746 WalConfig as WalWalConfig, WalEntry as WalWalEntry, WalError as WalWalError, WalOpType,
747 WalStats as WalWalStats, WalWriteAheadLog, WAL_MAGIC,
748};
749
750pub mod storage_compression_pipeline;
751pub use storage_compression_pipeline::{
752 delta_decode, delta_encode, fnv1a_64 as scp_fnv1a_64, lz77_decode, lz77_encode, rle_decode,
753 rle_encode, xor_transform, CompressedBlock, CompressionStage, ScpCompressionAlgorithm,
754 ScpPipelineConfig, ScpPipelineError, ScpPipelineStats, ScpStorageCompressionPipeline,
755};
756
757pub mod storage_access_controller;
758pub use storage_access_controller::{
759 AccessDecision, AclConfig, AclError, AclStats, Permission, PolicyEffect, ResourcePolicy,
760 SacAuditEntry, SacRole, StorageAccessController, SubjectAttributes,
761};
762
763pub mod object_integrity_checker;
764pub use object_integrity_checker::{
765 CheckerConfig, CheckerError, CheckerStats, IntegrityHash, IntegrityLevel,
766 ObjectIntegrityChecker, OicIntegrityStatus, OicObjectRecord, OicVerificationResult,
767};
768
769pub mod storage_replication_manager;
770pub use storage_replication_manager::{
771 ReplicaTarget as SrmReplicaTargetDirect, ReplicationPolicy as SrmReplicationPolicyDirect,
772 SrmError as SrmReplicationError, SrmReplicaTarget, SrmReplicationConfig, SrmReplicationOp,
773 SrmReplicationPolicy, SrmReplicationStats,
774 StorageReplicationManager as SrmStorageReplicationManager,
775};
776
777pub mod storage_query_planner;
778pub use storage_query_planner::{
779 SqpCostModel, SqpPlanStep, SqpPlannerConfig, SqpPlannerStats, SqpQuery, SqpQueryPlan,
780 StorageQueryPlanner,
781};
782
783pub mod storage_snapshot_manager;
784pub use storage_snapshot_manager::{
785 fnv1a_64 as ssm_fnv1a_64,
786 CoWMapping,
787 Page,
788 PageId,
789 SnapshotConfig as CowSnapshotConfig,
790 SnapshotDiff as CowSnapshotDiff,
791 SnapshotError as CowSnapshotError,
792 SnapshotId as CowSnapshotId,
793 SnapshotMetadata,
794 SnapshotStats as CowSnapshotStats,
795 StorageSnapshotManager as CowStorageSnapshotManager,
797};