An async Curl library.
Project description
Architectural notes
Acurl creates an event loop to manage its tasks. It communicates among
those tasks by using pipes (pairs of file descriptors). Onto the write
half of these file descriptors, it writes a stream of (usually) pointers
to objects in the processʼs memory. The read half receives these
pointers and acts on them. There are 4 pipes hat acurl uses, which are
set up in Eventloop_new
:
req_in
connectsSession_request
(write) tostart_request
(read).req_out
connectsresponse_complete
(write) toEventloop_get_completed
(read). There is a secondary codepath throughstart_request
that also writes toreq_out
if the request is a so-called dummy request. Dummy requests are an internal API used to convince curl to do (something related to cookie management).stop
connectsEventloop_stop
(write) tostop_eventloop
(read). (The implementation ofEventloop_stop
was broken until the refactoring at the end of July 2019, indicating that it probably never actually worked.)curl_easy_cleanup
Response_dealloc
(write) tocurl_easy_cleanup_in_eventloop
(read).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
acurl-0.1.tar.gz
(34.7 kB
view hashes)
Built Distribution
Close
Hashes for acurl-0.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c4c32b0e6c296dd6eea49dfd155ae68d2cd73d993218b81b093141ea376d3156 |
|
MD5 | 0f35eecfce61dece8db1303b4d598532 |
|
BLAKE2b-256 | 45bf8a4791d8a98db382bc645126f8dafecde629cdc5c92eb698cbfb200fc177 |