Crate aster_forge_cloud_files_core

Crate aster_forge_cloud_files_core 

Source
Expand description

Product-neutral contracts for native cloud-files integrations.

This crate defines the operating-system-independent value model shared by Windows Cloud Files, Apple File Provider, and Linux FUSE adapters. Product crates provide authentication, remote API DTO mapping, permissions, root/account policy, and user-visible conflict behavior.

The current Phase 1 surface includes scoped identities, opaque revisions and cursors, capability negotiation, read-only backend ports, durable checkpoint/mutation store contracts, runtime-neutral hydration work sharing with waiter-scoped cancellation, and revision-bound content-storage ownership with guarded eviction, recoverable provider-cache writes, immutable local generations, resumable upload recovery, a runtime-neutral upload runner, and a generic durable mutation runner with remote-outcome reconciliation. Native platform validation has started in the sibling platform crates while these product-neutral contracts remain platform-independent.

Re-exports§

pub use backend::ByteRange;
pub use backend::CloudContentBackend;
pub use backend::CloudFilesBackend;
pub use backend::CloudMetadataBackend;
pub use backend::ContentReadRange;
pub use backend::ContentReadRequest;
pub use backend::ContentReadResponse;
pub use backend_error::BackendResult;
pub use backend_error::CloudBackendError;
pub use backend_error::CloudBackendErrorKind;
pub use backend_error::RetryAdvice;
pub use cache_write::ContentCacheWriteExtent;
pub use cache_write::ContentCacheWriteIntent;
pub use cache_write::ContentCacheWriteOperationId;
pub use cache_write::ContentCacheWriteRecord;
pub use cache_write::ContentCacheWriteRecordTransition;
pub use cache_write::ContentCacheWriteState;
pub use capabilities::Alignment;
pub use capabilities::AnchoredChangeCapabilities;
pub use capabilities::CancellationLevel;
pub use capabilities::ChangeCapabilities;
pub use capabilities::CloudFilesCapabilities;
pub use capabilities::CloudFilesLimits;
pub use capabilities::ContentStorageModes;
pub use capabilities::EnumerationCapabilities;
pub use capabilities::EvictionCapabilities;
pub use capabilities::HydrationCapabilities;
pub use capabilities::IdentityCapabilities;
pub use capabilities::MaterializationCapabilities;
pub use capabilities::MutationCapabilities;
pub use capabilities::NamingCapabilities;
pub use capabilities::RangeHydrationCapabilities;
pub use capabilities::RevisionCapabilities;
pub use change::ChangeBatch;
pub use change::ChangePage;
pub use change::ChangeResetReason;
pub use change::CloudChange;
pub use content_storage::ContentCacheKey;
pub use content_storage::ContentEvictionBegin;
pub use content_storage::ContentEvictionBlocker;
pub use content_storage::ContentEvictionDecision;
pub use content_storage::ContentEvictionIntent;
pub use content_storage::ContentEvictionOperationId;
pub use content_storage::ContentEvictionPhysicalEffect;
pub use content_storage::ContentEvictionPlan;
pub use content_storage::ContentEvictionRecord;
pub use content_storage::ContentEvictionRecordTransition;
pub use content_storage::ContentEvictionState;
pub use content_storage::ContentEvictionTarget;
pub use content_storage::ContentLeaseCounts;
pub use content_storage::ContentLeaseId;
pub use content_storage::ContentLeaseKind;
pub use content_storage::ContentRangeSet;
pub use content_storage::ContentStorageEntry;
pub use content_storage::ContentStorageMode;
pub use content_storage::DirtyContentTransition;
pub use content_storage::PlatformMaterializationState;
pub use cursor::ChangeCursor;
pub use cursor::DirectoryCookie;
pub use cursor::PageCursor;
pub use error::CloudFilesCoreError;
pub use error::Result;
pub use hydration::HydrationCancellationHandle;
pub use hydration::HydrationCancellationOutcome;
pub use hydration::HydrationCoordinator;
pub use hydration::HydrationError;
pub use hydration::HydrationLimits;
pub use hydration::HydrationRequest;
pub use hydration::HydrationResult;
pub use hydration::HydrationWaiter;
pub use identity::CloudItemId;
pub use identity::CloudItemKey;
pub use identity::CloudNamespaceId;
pub use identity::CloudRootId;
pub use identity::CloudScope;
pub use item::CloudContentMetadata;
pub use item::CloudItem;
pub use item::CloudItemKind;
pub use item::CloudItemPage;
pub use local_content::LocalContentGeneration;
pub use local_content::LocalContentReference;
pub use local_content::LocalContentSnapshot;
pub use mutation::CloudMutationBackend;
pub use mutation::DesiredMutation;
pub use mutation::IdempotencyKey;
pub use mutation::MutationIntent;
pub use mutation::MutationOrigin;
pub use mutation::MutationPreconditions;
pub use mutation::MutationRecord;
pub use mutation::MutationRecordTransition;
pub use mutation::MutationRemoteOutcome;
pub use mutation::MutationRetryMetadata;
pub use mutation::MutationRunError;
pub use mutation::MutationRunOutcome;
pub use mutation::MutationRunResult;
pub use mutation::MutationRunner;
pub use mutation::MutationState;
pub use mutation::OperationId;
pub use mutation::PlatformRequestCorrelation;
pub use mutation::RemoteReconciliationKey;
pub use mutation::SessionGeneration;
pub use mutation::SessionState;
pub use revision::ContentDigest;
pub use revision::ContentDigestAlgorithm;
pub use revision::ContentRevision;
pub use revision::MetadataRevision;
pub use store::ChangeBatchId;
pub use store::ChangeCheckpointStore;
pub use store::ChangeCursorCheckpoint;
pub use store::CloudFilesStoreError;
pub use store::CloudFilesStoreErrorKind;
pub use store::ContentCacheWriteStore;
pub use store::ContentStorageStore;
pub use store::ContentUploadStore;
pub use store::MutationJournalStore;
pub use store::PersistedChangeBatch;
pub use store::PersistedChangeBatchState;
pub use store::RecoveryPage;
pub use store::StoreResult;
pub use store::StoreWriteStatus;
pub use upload::CloudContentUploadBackend;
pub use upload::ContentUploadChunk;
pub use upload::ContentUploadChunkAck;
pub use upload::ContentUploadIntent;
pub use upload::ContentUploadRecord;
pub use upload::ContentUploadRecordTransition;
pub use upload::ContentUploadRunError;
pub use upload::ContentUploadRunOutcome;
pub use upload::ContentUploadRunResult;
pub use upload::ContentUploadRunner;
pub use upload::ContentUploadSession;
pub use upload::ContentUploadSessionId;
pub use upload::ContentUploadState;
pub use upload::LocalContentSnapshotReader;

Modules§

backend
Provisional read-only backend ports and revision-bound content read values.
backend_error
Product-neutral backend error classifications and retry advice.
cache_write
Durable provider-cache byte installation and coverage reconciliation.
capabilities
Parameterized backend, platform, and product-host capability negotiation.
change
Incremental backend changes, deletion tombstones, and explicit cursor resets.
content_storage
Product-neutral content storage ownership, sparse coverage, leases, and eviction recovery.
cursor
Distinct opaque continuation tokens for listing, change tracking, and native directory streams.
error
Error types for the cloud-files core model.
hydration
Runtime-neutral hydration work sharing, revision fencing, and waiter-scoped cancellation.
identity
Stable scoped identities independent from local paths and native platform handles.
item
Product-neutral cloud item metadata and directory enumeration pages.
local_content
Immutable local-content snapshots used by dirty tracking and upload recovery.
mutation
Durable product-neutral mutation identities, intents, outcomes, and recovery states.
revision
Opaque metadata/content revisions and optional content integrity digests.
store
Product-neutral durable-store ports for checkpoints, mutations, cache writes, uploads, and eviction.
upload
Product-neutral resumable content-upload requests, backend port, and durable recovery model.