Expand description
Shared S3/retry/upload infrastructure for the hadb ecosystem.
hadb-io provides the common infrastructure layer used by all hadb replication
engines (walrust-core, graphstream) and product crates (haqlite, hakuzu):
- Retry — Exponential backoff with full jitter, error classification, circuit breaker
- S3 — Client helpers for S3-compatible storage (feature-gated)
- ObjectStore — Rich storage trait for bulk data operations + S3Backend
- Webhook — HTTP POST notifications with HMAC-SHA256 signing
- Retention — GFS (Grandfather/Father/Son) snapshot rotation
- Config — Shared configuration types (S3, webhook, cache, duration parsing)
Re-exports§
pub use config::CacheConfig;pub use config::S3Config;pub use config::WebhookConfig;pub use config::parse_duration_string;pub use retention::RetentionPlan;pub use retention::RetentionPolicy;pub use retention::SnapshotEntry;pub use retention::Tier;pub use retention::analyze_retention;pub use retry::CircuitBreaker;pub use retry::CircuitState;pub use retry::ErrorKind;pub use retry::OnCircuitOpen;pub use retry::RetryConfig;pub use retry::RetryOutcome;pub use retry::RetryPolicy;pub use retry::classify_error;pub use retry::is_retryable;pub use storage::ObjectStore;pub use uploader::ConcurrentUploader;pub use uploader::UploadHandler;pub use uploader::UploadMessage;pub use uploader::UploaderStats;pub use uploader::spawn_uploader;pub use webhook::WebhookEvent;pub use webhook::WebhookPayload;pub use webhook::WebhookSender;pub use webhook::compute_hmac_signature;pub use storage::S3Backend;pub use aws_sdk_s3;
Modules§
- config
- Shared configuration types for the hadb ecosystem.
- retention
- Retention policy for snapshot/segment compaction.
- retry
- Retry logic with exponential backoff for storage operations.
- s3
- S3 client helpers for the hadb ecosystem.
- storage
- Object storage abstraction for the hadb ecosystem.
- uploader
- Generic concurrent upload framework.
- webhook
- Webhook notifications for failure events.