78b1442051
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> |
||
---|---|---|
.. | ||
app | ||
audio | ||
binary_compatibility | ||
bluetooth | ||
debug | ||
debugger | ||
device | ||
drivers | ||
file_systems | ||
firewire | ||
fs_shell | ||
graphics | ||
i2c | ||
index_server | ||
input | ||
interface | ||
kernel | ||
libroot | ||
locale | ||
media | ||
midi | ||
mount | ||
net | ||
netservices | ||
notification | ||
package | ||
preferences | ||
runtime_loader | ||
screen_saver | ||
shared | ||
storage | ||
support | ||
syslog_daemon | ||
system | ||
textencoding | ||
tracker | ||
usb_vision | ||
userlandfs | ||
virtio | ||
vmdk | ||
wmi |