haiku/headers/private
Leorize 78b1442051 libbnetapi: BUrlRequest now outputs to BDataIO
Previously, BUrlRequest returns data received via a callback that can't
return any value. This approach have several issues:

- It's not possible to signify failures to the request.
- Users have to implement custom listeners just to handle the common
  case of outputting to a buffer/file/etc.
- The received data has to be serialized into BMessage when
  BUrlProtocolDispatchingListener is employed. This can cause a
  noticible slowdown in real-world scenarios as evident by #10748.

With this change, BUrlRequest will output directly into a BDataIO, which
exposes a richer API for request handlers to work with (for example a
BitTorrent client can request a BPositionIO for non-linear data
delivery), as well as simplifying common cases for users.

The adaptation only requires one additional API:
BHttpRequest::SetStopOnError(). This API simply instructs the HTTP
request handler to cancel the request if an HTTP error is occurred.

Change-Id: I4160884d77bff0e7678e0a623e2587987704443a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3084
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-02-28 20:39:31 +00:00
..
app BCursor: add a constructor with bitmap and point 2020-10-08 08:23:31 +00:00
audio audio: Move hmulti_audio driver API to private audio headers 2018-10-23 16:33:19 +02:00
binary_compatibility
bluetooth bluetooth: remove DEBUG definition. 2016-06-05 18:55:44 +02:00
debug
debugger Add (void*) casts to memcpy/memset invocations to appease GCC 8. 2019-05-24 14:21:37 -04:00
device acpi_battery: support for _BIX method. 2020-03-10 13:14:09 +00:00
drivers mmc_disk: implement B_TRIM_DEVICE 2021-01-23 12:20:59 +00:00
file_systems fs_shell: Prevent inclusion of BSD headers; fix DeviceOpener. 2020-05-10 12:44:46 -04:00
firewire Minor tweaks to fix the build after the last commit. 2019-03-26 20:06:09 -04:00
fs_shell file_system/fat: Rework driver for fs_shell support 2020-12-30 14:10:19 +00:00
graphics radeon_hd: Cram in a bunch of new PCIID's 2020-07-06 06:39:11 +00:00
i2c i2c: add acquire_bus/release_bus hooks 2020-04-12 16:55:52 +00:00
index_server
input usb_hid: Enable digitizers to produce button events from tip and barrel switches 2021-01-26 18:56:32 +00:00
interface Tracker: improve algorithm to decide desktop text color 2020-12-19 10:17:55 +01:00
kernel Build fix. 2021-01-26 20:05:05 +01:00
libroot libroot: implement timegm calling the ICU backend 2021-02-24 05:51:44 +00:00
locale locale kit: allow creating a catalog without entry_ref 2020-09-01 18:14:57 +00:00
mail build: Cleanup of libgnuregex usage. 2018-03-07 18:04:31 -05:00
media media_kit: Dynamic allocation of ChunkCache based on media 2021-01-03 20:51:37 +00:00
midi Midi: Remove some duplicated code 2015-08-27 11:51:57 +02:00
mount
net libnetapi.so: make headers of deprecated classes private 2021-01-27 19:53:11 +00:00
netservices libbnetapi: BUrlRequest now outputs to BDataIO 2021-02-28 20:39:31 +00:00
notification Notification_Server: Added ability to choose position of notifications 2017-12-24 12:02:38 +01:00
package kit/package: Error on short file read 2019-08-05 15:07:24 +00:00
preferences Fix glitch in Screen prefs when changing background color. 2017-04-30 10:29:39 +02:00
print PictureIterator.h: fix header guard spelling 2016-07-10 17:11:20 +02:00
runtime_loader libroot: make API version available. 2019-09-13 13:38:08 +00:00
screen_saver ScreenSaver: Rename BuildScreenSaverDefaultSettingsView 2016-04-13 15:50:30 -07:00
shared HaikuDepot: Remove Custom List 2021-02-06 19:45:53 +00:00
storage Speed up BResource loading 2020-06-01 14:09:54 +00:00
support Add ZstdCompressionAlgorithm. 2017-11-24 21:35:49 +01:00
syslog_daemon syslog_daemon: Converted to BServer. 2015-07-22 20:40:47 +02:00
system sparc: implement elf relocation 2021-01-01 22:10:43 +00:00
textencoding
tracker Tracker FindPanel: Make a copy of fDeviceIcon 2016-07-31 19:42:39 -07:00
usb_vision
userlandfs Relicense all of Ingo's BSD/MIT+advertising clause'd code as plain MIT. 2019-08-30 18:27:35 -04:00
virtio virtio: add clear_feature hook. 2020-03-21 17:16:45 +00:00
vmdk
wmi wmi: add ACPI WMI implementation 2020-04-20 14:56:59 +00:00