14 Commits

Author SHA1 Message Date
39af87fcb4 Reduce the number of HTTP HEAD requests
- Removed redundant http head requests that were used to query
  filesizes, even after the filesize was known already.
2021-04-01 22:05:50 +02:00
96fa5c4112 Improve speed accuracy a bit (maybe) 2021-04-01 01:08:32 +02:00
0d4f32d22d Fix filename containing path in display 2021-04-01 00:10:41 +02:00
8fee14d0e6 Improve CLI & change name 2021-03-31 19:22:00 +02:00
36ad1263b4 Reduced panics 2021-03-31 17:30:16 +02:00
182442ba3b Improve cli argument validation 2021-03-31 14:07:09 +02:00
052c3a358a Slightly improved error recoverability 2021-03-31 01:17:07 +02:00
9edb2daf86 Improve display log 2021-03-30 19:07:18 +02:00
bc84eb1c2a Filenames no longer contain URL params
- Fixes #12
2021-03-28 03:11:02 +02:00
833af6e8d3 Don't preresolve zippy URLs
- Zippy URLs are now resolved directly before starting the downloads
- Resolve errors now should print the error to the top-log and skip the
  file. (untested)
- The status reports are now sent after either 5M download or 1s
- Fixes #10, #4
2021-03-27 00:29:56 +01:00
92f6c2699c Collect data chunks before writing to disk
- Buffer the downloaded data into 4M buffers and only write to disk
  after the buffer is full.
- This reduces the number of small writes and greatly improves
  performance on HDDs with mutliple concurrent downloads.
- Fixes #3
2021-03-26 22:36:43 +01:00
d12c174a8b Improve terminal display output
- Logs are printed at the top
- Status updates are printed at the bottom and are updated in-place
- Removed the redundant code for `download_one`
2021-03-26 01:17:12 +01:00
9ca93cbeb2 Implement concurrent download for single files
- Added `download_feedback_multi` that downloads one file using multiple
  connections.
- The file is preallocated and zero-filled and then written to in
  parallel at different offsets.
2021-03-25 21:35:58 +01:00
a8474aab1e Initial version 2021-03-24 18:46:24 +01:00