1 unstable release
0.0.3 | Nov 21, 2024 |
---|---|
0.0.2 |
|
0.0.1 |
|
#258 in HTTP client
315 downloads per month
48KB
1K
SLoC
sulfite
Overview
sulfite
is a high-level S3 client built on AWS SDK for Rust for even better ease of use, reliability, and bandwidth saturation (>50 Gbps).
The name: SO3^2-
, an anion, implying a companion to some other cation (application), is commonly used as a preservative in wines and dried fruits (preserve to S3). It's S3
with an O
in the middle, a play on oxidization.
Motivation
The AWS SDK is a little low-level for users to take advantage of the concurrency & parallelism, with the following challenges:
- You need to orchestrate the parallel multipart download & upload for large files.
- The built-in retry settings are too low-level, and we allow installing higher-level retries.
- The async API doesn't agree well with the filesystem, especially for streaming small chunks from/to disk.
To address them, we provide implementations for the parallel multipart download & upload, and higher-level retries. We also make sure the on-disk file is adequately buffered to avoid task-threading overhead.
License
This project is licensed under the MIT license.
Dependencies
~28–38MB
~507K SLoC