1mod prolly;
251
252pub use prolly::batch::{
254 append_batch, BatchApplyResult, BatchApplyStats, BatchWriter, MutationBuffer,
255};
256pub use prolly::blob::{AsyncBlobStore, SyncBlobStoreAsAsync};
257pub use prolly::blob::{
258 BlobRef, BlobStore, BlobStoreScan, FileBlobStore, FileBlobStoreError, LargeValueConfig,
259 MemBlobStore, MemBlobStoreError, ValueRef, DEFAULT_INLINE_VALUE_THRESHOLD,
260};
261#[cfg(feature = "tokio")]
262pub use prolly::blob::{TokioBlockingBlobStore, TokioBlockingBlobStoreError};
263pub use prolly::boundary::BoundaryDetector;
264pub use prolly::builder::{
265 AsyncBatchBuilder, AsyncSortedBatchBuilder, BatchBuilder, SortedBatchBuilder,
266};
267pub use prolly::chunking;
268pub use prolly::cid::Cid;
269pub use prolly::config::{Config, ConfigBuilder, RuntimeConfig};
270pub use prolly::content_graph::{
271 compare_and_swap_named_content_root, compare_and_swap_named_content_root_async,
272 compare_and_swap_named_content_root_with_limits,
273 compare_and_swap_named_content_root_with_limits_async, content_references,
274 content_references_async, copy_and_publish_content_graph, copy_content_graph,
275 load_named_content_root, load_named_content_root_async, load_named_content_root_with_limits,
276 load_named_content_root_with_limits_async, plan_content_gc, put_named_content_root,
277 put_named_content_root_async, put_named_content_root_with_limits,
278 put_named_content_root_with_limits_async, sweep_content_gc, sweep_content_gc_with_invalidator,
279 walk_content_graph, walk_content_graph_async, ContentGcPlan, ContentGcSweep, ContentGraphCopy,
280 ContentGraphLimits, ContentGraphWalk, ContentManifestUpdate, ContentObjectKind,
281 ContentRootManifest, ContentRootPublication, TypedContentObject, TypedContentRoot,
282};
283pub use prolly::crdt::{
284 ConflictFreeMerger, CrdtConfig, CrdtResolution, CustomMergeFn, DefaultConflictFreeMerger,
285 DeletePolicy, MergeStrategy, MultiValueSet, TimestampExtractor, TimestampedValue,
286};
287pub use prolly::debug::{
288 TreeDebugComparedNode, TreeDebugComparison, TreeDebugComparisonLevel, TreeDebugLevel,
289 TreeDebugNode, TreeDebugNodeStatus, TreeDebugView,
290};
291pub use prolly::diff::{AsyncConflictIter, AsyncDiffIter};
292pub use prolly::diff::{
293 DiffPage, DiffTraversalStats, MergeExplanation, MergeFallbackReason, MergeFastPath,
294 MergeResolutionKind, MergeReuseReason, MergeTrace, MergeTraceEvent, MergeTraceStage,
295 StructuralDiffCursor, StructuralDiffMarker, StructuralDiffPage,
296};
297pub use prolly::encoding::Encoding;
298pub use prolly::engine::execution::ExecutionConfig;
299pub use prolly::engine::ProllyEngine;
300pub use prolly::error::{
301 resolver, Conflict, Diff, Error, IndexErrorCode, Mutation, Resolution, Resolver, RetryAdvice,
302};
303pub use prolly::format::{
304 BoundaryInput, BoundaryRule, ChunkMeasure, ChunkingSpec, HashAlgorithm, NodeLayoutSpec,
305 TreeFormat,
306};
307pub use prolly::gc::{
308 BlobGcPlan, BlobGcReachability, BlobGcSweep, BlobReachabilityLimits, GcPlan, GcReachability,
309 GcSweep, GcTraversalLimits,
310};
311pub use prolly::key::{
312 debug_key, decode_segments, encode_segment, encode_segment_prefix, i128_key, i64_key,
313 prefix_end, prefix_range, timestamp_millis_key, u128_key, u64_key, KeyBuilder, KeyDecodeError,
314};
315pub use prolly::manifest::{AsyncManifestStore, AsyncManifestStoreScan};
316pub use prolly::manifest::{
317 ManifestStore, ManifestStoreScan, ManifestUpdate, NamedRoot, NamedRootManifest,
318 NamedRootManifestPage, NamedRootRetention, NamedRootSelection, NamedRootUpdate, RootManifest,
319};
320pub use prolly::node::{Node, NodeBuilder};
321pub use prolly::parallel::ParallelConfig;
322pub use prolly::patch::{LogicalPatch, StructuralEdit, StructuralPatch};
323pub use prolly::policy::{
324 MergePolicyFn, MergePolicyRegistry, MergePolicyRule, MergePolicyRuleLabel,
325};
326pub use prolly::proof::{
327 inspect_proof_bundle, sign_proof_bundle_hmac_sha256, verify_authenticated_proof_bundle,
328 verify_authenticated_proof_envelope, verify_diff_page_proof, verify_key_proof,
329 verify_multi_key_proof, verify_proof_bundle, verify_range_page_proof, verify_range_proof,
330 AuthenticatedProofBundleVerification, AuthenticatedProofEnvelope,
331 AuthenticatedProofEnvelopeVerification, DiffPageProof, DiffPageProofVerification, KeyProof,
332 KeyProofVerification, MultiKeyProof, MultiKeyProofVerification, ProofBundleKind,
333 ProofBundleSummary, ProofBundleVerification, ProvedDiffPage, ProvedRangePage, RangePageProof,
334 RangePageProofVerification, RangeProof, RangeProofVerification,
335};
336pub use prolly::proximity::{
337 AcceleratorCatalog, AcceleratorCatalogEntry, AcceleratorSet, AdaptiveQuality,
338 ApproximatePreference, BuildParallelism, CatalogAcceleratorKind, CompositeAccelerator,
339 CompositeAcceleratorConfig, CompositeBase, CompositeBaseKind, CompositeBuildLimits,
340 CompositeBuildOrRebuildOutcome, CompositeBuildOutcome, CompositeBuildStats,
341 CompositeRebuildOptions, DistanceMetric, ExactProximityRecord, FullRebuildReason,
342 HierarchyConfig, HnswBuildLimits, HnswBuildStats, HnswConfig, HnswIndex,
343 HnswRoutingVectorEncoding, HnswSearchOptions, Neighbor, OverflowConfig, PlannerPolicy,
344 PqSearchOptions, ProductQuantizationBuildLimits, ProductQuantizationBuildStats,
345 ProductQuantizationConfig, ProductQuantizationQuality, ProductQuantizer, ProximityBuildStats,
346 ProximityConfig, ProximityFilter, ProximityMap, ProximityMembershipProof,
347 ProximityMembershipVerification, ProximityMutation, ProximityMutationStats,
348 ProximityProofFilter, ProximityReadSession, ProximityRecord, ProximityRecordRef,
349 ProximitySearchClaim, ProximitySearchEvent, ProximitySearchProof, ProximitySearchRequest,
350 ProximitySearchStats, ProximitySearchVerification, ProximityStructuralProof,
351 ProximityStructuralVerification, ProximityTree, ProximityVectorRef, ProximityVerification,
352 QueryKernel, ScalarQuantizationConfig, SearchBackend, SearchBudget, SearchCompletion, SearchIo,
353 SearchOptions, SearchPlan, SearchPlanSummary, SearchPolicy, SearchRequest, SearchResult,
354 SearchRuntime, SearchRuntimePolicy, StoreCacheNamespace, VectorStorageConfig,
355 SEARCH_PLAN_FORMAT_VERSION,
356};
357pub use prolly::proximity::{
358 AsyncAcceleratorBuildOptions, AsyncAcceleratorBuildStats, AsyncAcceleratorCatalog,
359 AsyncAcceleratorSet, AsyncCompositeAccelerator, AsyncCompositeBuildOptions,
360 AsyncCompositeBuildOutcome, AsyncHnswBuild, AsyncHnswIndex, AsyncIoConfig,
361 AsyncProductQuantizer, AsyncProductQuantizerBuild, AsyncProximityBuildOptions,
362 AsyncProximityHead, AsyncProximityHeadCommit, AsyncProximityMap, AsyncProximityReadSession,
363 AsyncProximitySnapshot, AsyncSearchControl, CancellationToken,
364};
365pub use prolly::range::{AsyncRangeIter, AsyncRangePage, AsyncReversePage};
366pub use prolly::range::{
367 CursorWindow, RangeCursor, RangeIter, RangePage, ReverseCursor, ReversePage,
368};
369pub use prolly::read::AsyncReadSession;
370pub use prolly::read::{
371 BorrowedMergeResolver, ConflictRef, DiffRef, EntryRef, MergeDecision, OwnedRangeScanSession,
372 OwnedReadSession, OwnedValueLease, ReadSession, ScanOutcome, ValueRefView,
373};
374pub use prolly::remote::{
375 conformance as remote_conformance, RemoteAdapterError, RemoteBatchOp, RemoteManifestUpdate,
376 RemoteNamedRoot, RemoteNamedRootPage, RemoteProllyStore, RemoteRootCondition, RemoteRootWrite,
377 RemoteStoreBackend, RemoteStoreConfig, RemoteTransactionConflict, RemoteTransactionUpdate,
378};
379#[cfg(feature = "tokio")]
380pub use prolly::remote::{
381 BlockingRemoteBuildError, BlockingRemoteProllyStore, BlockingRemoteStoreError,
382};
383pub use prolly::secondary_index::{
384 decode_physical_index_key, decode_physical_index_key_ref, indexed_collection_root_name,
385 indexed_collection_source_map_id, physical_index_key, term_bounds_exact, term_bounds_prefix,
386 term_bounds_range, ActiveIndexHealth, AsyncIndexedMap, AsyncIndexedSnapshot,
387 AsyncIndexedSourceView, AsyncIndexedStore, AsyncPreparedIndexedMutation,
388 AsyncPreparedIndexedUpdate, AsyncSecondaryIndexQuery, AsyncSecondaryIndexSnapshot,
389 CollectionIndexPolicy, DecodedPhysicalIndexKey, DecodedPhysicalIndexKeyRef, IndexBuildResult,
390 IndexDescriptor, IndexProjection, IndexSemanticLimits, IndexSnapshotRef, IndexValue,
391 IndexValueRef, IndexVerification, IndexedCollectionState, IndexedMap, IndexedMapEditor,
392 IndexedMapHealth, IndexedMapMetricsSnapshot, IndexedMapUpdate, IndexedRetentionResult,
393 IndexedSnapshot, IndexedSnapshotBundle, IndexedSnapshotBundleIndex,
394 IndexedSnapshotBundleSummary, IndexedSnapshotBundleVerification, IndexedSnapshotId,
395 IndexedSnapshotManifest, IndexedSnapshotRecord, IndexedSourceRecord, IndexedSourceRecordRef,
396 IndexedStore, IndexedVersion, MaintenanceBudget, MutationBudget, ProjectedIndexEntry,
397 QueryBudget, SecondaryIndex, SecondaryIndexBuilder, SecondaryIndexCursor,
398 SecondaryIndexDirection, SecondaryIndexEntry, SecondaryIndexEntryRef, SecondaryIndexError,
399 SecondaryIndexExtractor, SecondaryIndexLimits, SecondaryIndexMatch, SecondaryIndexMatchRef,
400 SecondaryIndexPage, SecondaryIndexQuery, SecondaryIndexRegistry, SecondaryIndexSnapshot,
401 SnapshotPin, SnapshotPinGuard, SourceSnapshotRef, StreamingSecondaryIndexExtractor, TermBounds,
402 TransferBudget, INDEXED_COLLECTION_FORMAT, INDEXED_SNAPSHOT_BUNDLE_FORMAT_VERSION,
403 INDEXED_SNAPSHOT_MANIFEST_FORMAT, INDEX_PHYSICAL_LAYOUT_VERSION,
404};
405pub use prolly::snapshot::{
406 snapshot_id_from_name, snapshot_root_name, SnapshotManager, SnapshotNamespace, SnapshotRoot,
407 SnapshotSelection, SNAPSHOT_BRANCH_PREFIX, SNAPSHOT_CHECKPOINT_PREFIX, SNAPSHOT_TAG_PREFIX,
408};
409pub use prolly::splice::{splice, SpliceStats};
410pub use prolly::stats::{StatsComparison, StatsDiff, StatsPercentageChange, TreeStats};
411pub use prolly::store::{AsyncStore, SyncStoreAsAsync};
412pub use prolly::store::{
413 BatchOp, FileNodeStore, FileNodeStoreError, MemStore, MemStoreError, NodePublication,
414 NodePublicationHint, NodeStoreScan, PublicationOrigin, Store,
415};
416#[cfg(feature = "tokio")]
417pub use prolly::store::{TokioBlockingStore, TokioBlockingStoreError};
418pub use prolly::sync::{
419 MissingNodeCopy, MissingNodePlan, SnapshotBundle, SnapshotBundleNode, SnapshotBundleSummary,
420 SnapshotBundleVerification, SnapshotExportLimits, SNAPSHOT_BUNDLE_FORMAT_VERSION,
421};
422pub use prolly::tombstone::{
423 is_tombstone_value, tombstone_compaction, tombstone_upsert, Tombstone,
424};
425pub use prolly::transaction::{
426 AsyncProllyTransaction, AsyncTransactionOverlayStore, AsyncTransactionalStore,
427 OwnedAsyncProllyTransaction, OwnedAsyncTransactionOverlayStore,
428};
429pub use prolly::transaction::{
430 OwnedProllyTransaction, ProllyTransaction, RootCondition, RootWrite, TransactionConflict,
431 TransactionNodeWrite, TransactionOverlayError, TransactionUpdate, TransactionalStore,
432};
433pub use prolly::tree::Tree;
434pub use prolly::value::{
435 decode_cbor, decode_json, encode_cbor, encode_json, CborCodec, JsonCodec, ValueCodec,
436 VersionedCborCodec, VersionedJsonCodec, VersionedValue,
437};
438pub use prolly::versioned_map::{
439 AsyncMapChangeSubscription, AsyncMapSnapshot, AsyncVersionedMap, AsyncVersionedMapsTransaction,
440};
441pub use prolly::versioned_map::{
442 BytesKeyCodec, KeyCodec, MapBackupVersion, MapCatalogVerification, MapChangeEvent,
443 MapChangeSubscription, MapComparison, MapMerge, MapReverseIter, MapSnapshot, MapVersion,
444 MapVersionCursor, MapVersionId, MapVersionPage, ProofAuthentication, StringKeyCodec,
445 TypedMigrationResult, TypedVersionedMap, VersionPruneResult, VersionedMap, VersionedMapBackup,
446 VersionedMapBatchResult, VersionedMapEditor, VersionedMapUpdate, VersionedMapsTransaction,
447 DEFAULT_VERSIONED_MAP_RETRIES, VERSIONED_MAP_ROOT_PREFIX,
448};
449pub use prolly::write::WriteStats;
450pub use prolly::write_session::{PendingValue, Savepoint, WriteSession};
451pub use prolly::AsyncProlly;
452pub use prolly::{
453 ChangedSpan, ChangedSpanHint, KeyValue, Prolly, ProllyCacheUsage, ProllyMetricsSnapshot,
454};
455
456pub use prolly::encoding::{
458 DEFAULT_CHUNKING_FACTOR, DEFAULT_HASH_SEED, DEFAULT_MAX_CHUNK_SIZE, DEFAULT_MIN_CHUNK_SIZE,
459 INIT_LEVEL,
460};