Skip to main content

rusty_cat/
lib.rs

1//! `rusty-cat` public SDK crate.
2//!
3//! This crate exposes high-level APIs to enqueue and control upload/download
4//! tasks with breakpoint resume support.
5//!
6//! For beginners, start from [`api`] or directly use [`meow_client::MeowClient`]
7//! and [`meow_config::MeowConfig`].
8//!
9//! # Quick example
10//!
11//! ```no_run
12//! use rusty_cat::api::{MeowClient, MeowConfig, UploadPounceBuilder};
13//!
14//! let config = MeowConfig::builder()
15//!     .max_upload_concurrency(2)
16//!     .max_download_concurrency(2)
17//!     .build()?;
18//! let client = MeowClient::new(config);
19//! let _task = UploadPounceBuilder::new("file.bin", "./file.bin", 1024 * 1024)
20//!     .with_url("https://example.com/upload")
21//!     .build();
22//! let _ = client;
23//! # Ok::<(), rusty_cat::api::MeowError>(())
24//! ```
25#[cfg(feature = "aliyun-oss-direct")]
26#[path = "aliyun-oss-direct/mod.rs"]
27pub mod aliyun_oss_direct;
28#[cfg(feature = "aliyun-oss-presigned")]
29#[path = "aliyun-oss-presigned/mod.rs"]
30pub mod aliyun_oss_presigned;
31pub mod api;
32#[cfg(feature = "azure-blob-direct")]
33#[path = "azure-blob-direct/mod.rs"]
34pub mod azure_blob_direct;
35#[cfg(feature = "azure-blob-sas")]
36#[path = "azure-blob-sas/mod.rs"]
37pub mod azure_blob_sas;
38pub mod chunk_outcome;
39pub(crate) mod dflt;
40pub mod direction;
41pub mod down_pounce_builder;
42mod download_trait;
43pub mod error;
44pub mod file_transfer_record;
45pub mod http_breakpoint;
46pub mod ids;
47pub(crate) mod inner;
48pub mod log;
49pub mod meow_client;
50pub mod meow_config;
51pub mod pounce_task;
52pub mod prepare_outcome;
53#[cfg(feature = "presigned")]
54pub mod presigned;
55pub mod transfer_executor_trait;
56pub mod transfer_snapshot;
57pub mod transfer_status;
58pub mod transfer_task;
59pub mod up_pounce_builder;
60pub(crate) mod upload_source;
61pub mod upload_trait;
62
63pub use api::*;