Struct oma_fetch::DownloadSource
source · pub struct DownloadSource { /* private fields */ }Implementations§
source§impl DownloadSource
impl DownloadSource
sourcepub fn new(url: String, source_type: DownloadSourceType) -> Self
pub fn new(url: String, source_type: DownloadSourceType) -> Self
Examples found in repository?
examples/downloads.rs (lines 10-13)
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
async fn main() -> DownloadResult<()> {
let source_1 = DownloadSource::new(
"https://mirrors.bfsu.edu.cn/anthon/debs/pool/stable/main/g/go_1.19.4%2Btools0.4.0%2Bnet0.4.0-0_amd64.deb".to_string(),
DownloadSourceType::Http
);
let file_1 = DownloadEntryBuilder::default()
.source(vec![source_1])
.filename("go.deb".to_string())
.dir(PathBuf::from("./oma-fetcher-test"))
.hash("0625cbba48a14438eea144682567a026a17e173420c5bdcbc06dcb11aba50628".to_string())
.allow_resume(true)
.build()?;
let source_2 = DownloadSource::new(
"https://mirrors.bfsu.edu.cn/anthon/debs/pool/stable/main/v/vscodium_1.77.3.23102-0_arm64.deb".to_string(),
DownloadSourceType::Http
);
let file_2 = DownloadEntryBuilder::default()
.source(vec![source_2])
.filename("vscode.deb".to_string())
.dir(PathBuf::from("./oma-fetcher-test"))
.allow_resume(false)
.build()?;
let mut test_local_file = tokio::fs::File::create("test").await?;
test_local_file.write_all(b"test").await?;
let source_3 = DownloadSource::new("./test".to_string(), DownloadSourceType::Local);
let file_3 = DownloadEntryBuilder::default()
.source(vec![source_3])
.filename("test_downloaded".to_string())
.dir(PathBuf::from("./oma-fetcher-test"))
.build()?;
let fetcher = OmaFetcher::new(None, true, None, vec![file_1, file_2, file_3], None)?;
tokio::fs::create_dir_all("./oma-fetcher-test").await?;
fetcher
.start_download()
.await
.into_iter()
.collect::<DownloadResult<Vec<_>>>()?;
Ok(())
}Trait Implementations§
source§impl Clone for DownloadSource
impl Clone for DownloadSource
source§fn clone(&self) -> DownloadSource
fn clone(&self) -> DownloadSource
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl RefUnwindSafe for DownloadSource
impl Send for DownloadSource
impl Sync for DownloadSource
impl Unpin for DownloadSource
impl UnwindSafe for DownloadSource
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more