haiku/headers
Adrien Destugues f15516ff92 Package Kit: re-use downloads from unfinished transactions
There are three parts to this change:
- In FetchFileJob, if the request fails with a timeout or IO error
  (probably because of unstable connection) attempt to resume the
  download with a range request. No limit on number of retries
  currently, maybe we should add one.
- In PackageManager, before downloading a file, look around in other
  transaction directories in case it's already there. Partial and
  complete downloads are differentiated by an attribute which the
  fetch file job maintains. For complete downloads, no fetch job is
  scheduled, for partial downloads, the fetch job will request the
  remainder of the file.
- In BHttpRequest, the implementation of SetRangeStart() and
  SetRangeEnd() have been added, along with some refactoring to
  handle listener notifications consistently. This also fixed a
  bug where the final notification for download progress was not
  emitted for compressed data.

Fixes #12414.

Change-Id: I3e285741ed0e5651594a7c2e1c7170644a9d297d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3404
Reviewed-by: Stephan Aßmus <superstippi@gmx.de>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-01-09 15:20:09 +00:00
..
build Fix definition of PAGESIZE and B_PAGE_SIZE 2021-01-08 12:02:16 +00:00
compatibility features.h: undef before define 2021-01-07 09:14:57 +00:00
config ARM64: Initial changes so we can compile GCC toolchain 2019-08-30 19:05:16 +00:00
cpp build fix. 2015-11-12 22:24:16 +01:00
glibc Make public glibc header printf.h usable. 2013-07-17 18:07:56 +02:00
libs agg: fix build. 2020-01-22 19:25:16 +01:00
os Package Kit: re-use downloads from unfinished transactions 2021-01-09 15:20:09 +00:00
posix Fix definition of PAGESIZE and B_PAGE_SIZE 2021-01-08 12:02:16 +00:00
private x86_64: fix build 2021-01-08 13:38:29 +01:00
tools Fix #12799: Enable elf symbol patching for Haiku 2016-10-30 10:42:24 +01:00