#async #file #fetch #download #parallel

async-fetcher

Asynchronous multi-connection multi-download resumable HTTP file fetching state machine

12 releases (6 breaking)

0.10.0 Jun 17, 2022
0.8.5 Mar 31, 2022
0.3.0-alpha.3 Dec 13, 2021
0.1.2 Dec 5, 2018
0.1.0 Nov 28, 2018

#44 in HTTP client

Download history 52/week @ 2022-03-13 84/week @ 2022-03-20 74/week @ 2022-03-27 25/week @ 2022-04-03 3/week @ 2022-04-10 6/week @ 2022-04-17 58/week @ 2022-04-24 42/week @ 2022-05-01 69/week @ 2022-05-08 189/week @ 2022-05-15 47/week @ 2022-05-22 80/week @ 2022-05-29 78/week @ 2022-06-05 17/week @ 2022-06-12 11/week @ 2022-06-19 5/week @ 2022-06-26

122 downloads per month

MPL-2.0 license

55KB
1.5K SLoC

Asynchronous File Fetcher

This library provides an async service that can fetch multiple files concurrently, with multiple concurrent connections per file.

If the process is terminated, the downloads can be resumed. Once fetched, checksums can be validated in parallel.

The HTTP client used by the fetcher is isahc, which is a Rust binding to libcurl.

License

Licensed under the Mozilla Public License 2.0. Permissions of this copyleft license are conditioned on making available source code of licensed files and modifications of those files under the same license (or in certain cases, one of the GNU licenses). Copyright and license notices must be preserved. Contributors provide an express grant of patent rights. However, a larger work using the licensed work may be distributed under different terms and without source code for files added in the larger work.

Contribution

Any contribution intentionally submitted for inclusion in the work by you shall be licensed under the Mozilla Public License 2.0 (MPL-2.0). It is required to add a boilerplate copyright notice to the top of each file:

// Copyright {year} {person OR org} <{email}>
// SPDX-License-Identifier: MPL-2.0

Dependencies

~6–12MB
~211K SLoC