Skip to main content

oxigdal_streaming/cloud/
mod.rs

1//! Cloud-native I/O abstractions for OxiGDAL streaming.
2//!
3//! This module provides pure-Rust abstractions for cloud object storage:
4//! - Parsed cloud URLs (S3, GCS, Azure, HTTP/HTTPS)
5//! - Byte-range request building and HTTP Range header generation
6//! - Object metadata representation
7//! - Cloud credentials (anonymous, access key, service account, Azure, bearer)
8//! - Presigned URL generation (AWS SigV4 / GCS v4 — pure-Rust HMAC-SHA256)
9//! - Multipart upload state tracking and XML generation
10//! - Range coalescing for efficient cloud reads
11//! - Retry policy with exponential back-off and jitter
12
13pub mod object_store;
14pub mod retry;
15
16pub use object_store::{
17    ByteRangeRequest, CloudCredentials, CloudError, CloudRangeCoalescer, CloudScheme,
18    CompletedPart, HttpMethod, MultipartUploadState, ObjectMetadata, ObjectUrl, PresignedUrlConfig,
19    PresignedUrlGenerator, hex_encode, hmac_sha256, hmac_sha256_hex, sha256,
20};
21pub use retry::{RetryPolicy, RetryState};