Skip to main content

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 connects Session_request (write) to start_request (read).
  • req_out connects response_complete (write) to Eventloop_get_completed (read). There is a secondary codepath through start_request that also writes to req_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 connects Eventloop_stop(write) to stop_eventloop (read). (The implementation of Eventloop_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) to curl_easy_cleanup_in_eventloop (read).

Project details


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 details)

Uploaded Source

Built Distribution

acurl-0.1-cp38-cp38-macosx_11_0_arm64.whl (20.9 kB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

File details

Details for the file acurl-0.1.tar.gz.

File metadata

  • Download URL: acurl-0.1.tar.gz
  • Upload date:
  • Size: 34.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.12

File hashes

Hashes for acurl-0.1.tar.gz
Algorithm Hash digest
SHA256 023d831ef8320a34a12e992c0dbfdcf98e58f8025eac8bf9b3f0803e1441db7d
MD5 0633cb69dbb0e01f0513238e4c682c77
BLAKE2b-256 875962a56205e35cbca7be0b607c5b6a425d961223462fa0b00efcbf0d8c90b9

See more details on using hashes here.

Provenance

File details

Details for the file acurl-0.1-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

  • Download URL: acurl-0.1-cp38-cp38-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 20.9 kB
  • Tags: CPython 3.8, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.12

File hashes

Hashes for acurl-0.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c4c32b0e6c296dd6eea49dfd155ae68d2cd73d993218b81b093141ea376d3156
MD5 0f35eecfce61dece8db1303b4d598532
BLAKE2b-256 45bf8a4791d8a98db382bc645126f8dafecde629cdc5c92eb698cbfb200fc177

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page