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 | ||
device | ||
drivers | ||
game | ||
graphics | ||
interface | ||
keyboard | ||
locale | ||
media | ||
midi | ||
midi2 | ||
net | ||
netservices | ||
posix | ||
ppp | ||
shared | ||
storage | ||
support | ||
translation | ||
apidoc.dox | ||
book.css | ||
book.dox | ||
compatibility.dox | ||
credits.dox | ||
Doxyfile | ||
footer.html | ||
header.html | ||
HOWTO | ||
Makefile |