#![warn(missing_docs)]
#![allow(clippy::missing_errors_doc, clippy::module_name_repetitions)]
mod blob;
mod block;
pub mod branch;
#[cfg(all(target_arch = "wasm32", target_os = "unknown"))]
pub mod browser;
pub mod bucket;
#[allow(dead_code)]
mod cache;
mod checksum;
mod codec;
mod compaction;
pub mod content;
pub mod db;
mod durability;
pub mod error;
#[allow(dead_code)]
mod filter;
mod internal_key;
mod invariants;
mod io;
pub mod iterator;
mod limits;
mod lsm;
mod manifest;
#[allow(dead_code)]
mod memtable;
#[allow(dead_code)]
mod mvcc;
pub mod object_store;
pub mod options;
mod platform;
mod point_value;
pub mod prefix;
mod range_tombstone;
pub mod recovery;
pub mod runtime;
#[cfg(all(feature = "s3", not(target_family = "wasm")))]
pub mod s3;
pub mod search;
pub mod snapshot;
mod state_transition;
pub mod stats;
mod storage;
mod storage_read;
mod substrate;
mod table;
pub mod transaction;
pub mod types;
mod wal;
pub mod write_batch;
pub use branch::{AsyncBranchRange, Branch, BranchInfo, BranchRange};
pub use bucket::{Bucket, BucketName, BucketReader};
pub use content::{
ContentAccessBarrier, ContentAccessBarrierId, ContentAccessMode, ContentAttachment,
ContentAttachmentScope, ContentChangeId, ContentHandle, ContentHashAlgorithm, ContentId,
ContentLeaseId, ContentLeaseOptions, ContentLeaseOwnerId, ContentLifecycleMaintenanceReport,
ContentPhysicalHold, ContentPhysicalHoldId, ContentPhysicalHoldKind,
ContentPhysicalHoldOptions, ContentPhysicalHoldOwnerId, ContentPhysicalQuota,
ContentQuarantine, ContentQuarantineStage, ContentReaderDrainAttestation,
ContentReaderDrainAttestationId, ContentReaderDrainAttestationOptions,
ContentReaderDrainCoordinatorId, ContentReaderDrainEvidenceDigest, ContentReaderDrainKind,
ContentReclaimAuthorization, ContentReclaimClockAttestation, ContentReclaimClockAttestationId,
ContentReclaimClockCoordinatorId, ContentReclaimClockEvidenceDigest, ContentReclaimGrace,
ContentReclaimGraceStage, ContentReclaimIntentStage, ContentReclaimProofToken,
ContentReclaimSweep, ContentReclaimSweepBackend, ContentReclaimSweepStage, ContentStream,
ContentUpload, ContentUploadInfo, ContentUploadMaintenanceReport, ContentUploadOptions,
ContentUploadResume, ContentUploadState, OwnerScopeId, SealedContent, StorageDomainId,
UploadId, UploadToken,
};
pub use db::{Db, IntoOpenOptions, MaintenanceBudget, MaintenanceOutcome};
pub use error::{ContentReclaimBlocker, Error, Result};
pub use iterator::{Direction, Iter, LazyIter, LazyKeyValue, LazyValue};
pub use object_store::{
ETag, InMemoryObjectStore, ObjectClient, ObjectFuture, ObjectListPage, ObjectMeta,
ObjectStoreReclamationAttestation, ObjectStoreReclamationEvidenceDigest, ObjectVersion,
Precondition, PutIf, QualifiedObjectStoreReclamation, qualify_object_store_reclamation,
verify_object_client_contract,
};
pub use options::{
BlobGcRatio, BlobLevelMergePolicy, BucketOptions, CompressionProfile, ContentReclamationMode,
DbOptions, DurabilityMode, FailOnCorruptionPolicy, FilterDepthCurve, FilterPolicy,
HostStorageBackend, IndexSearchPolicy, ObjectClientTrustMode, PrefixFilterPolicy, StorageMode,
WalShardPolicy, WriteOptions,
};
pub use point_value::PointValue;
pub use prefix::PrefixExtractor;
pub use recovery::RecoveryReport;
pub use runtime::{CancellationToken, RuntimeCapabilities, RuntimeMode, RuntimeOptions};
pub use snapshot::Snapshot;
pub use stats::{
CompactionSkip, CompactionSkipStats, CompactionTrigger, CompactionTriggerStats, DbStats,
FilterStats, LevelFilterStats, LevelStats, PlatformIoClassCounters, PlatformIoOperationStats,
};
pub use transaction::{Transaction, TransactionOptions};
pub use types::{CommitInfo, KeyRange, KeyValue, ReadVersion, Value};
pub use wal::is_wal_object_key;
pub use write_batch::WriteBatch;
#[cfg(feature = "fuzzing")]
#[doc(hidden)]
pub mod fuzzing;
#[cfg(test)]
mod persistent_wal_tests {
use crate as trine_kv;
include!("../tests/internal/persistent_wal.rs");
}