[Pulp-dev] Asyncio I/O Downloaders

Brian Bouterse bbouters at redhat.com
Thu Aug 24 14:51:39 UTC 2017

The next step in considering the asyncio downloaders is done and ready to
be looked at. The PR made [0] replaces the existing downloaders and is
"merge-ready". The best way to read about them is through their docs [1].
Here are some of its highlights:

# Code size and docs
* huge code savings by switching to asyncio. removes 2427 lines and adds
558 lines.
* ^ is surprising considering the majority of lines added are docs
* Read the compiled docs here [1]

# Features
* It has 100% feature parity with the existing http/https downloaders. Ftp
can be added, but purposely left out for now. The requirements being
fulfilled are written here [2].
* It has more features than the existing downloaders including additional
ssl config, proxy_auth, additional connection options, and more.

# Easier for plugin writers
* An easier download customization experience by having to subclass fewer
objects than the existing downloaders. This design has one downloader for
both synchronous or asynchronous downloading
* Makes some functionality contained only in the changeset available in the
downloaders directly. Specifically the GroupDownloader was functionality
you could only get via changeset usage. Changesets could easily be retooled
to use this instead which would be great.
* Each object can be used independently or in conjunction with others

# Demo
* works with the HEAD of master of pulp_example [3] (not pulp_file) which
shows that it actually runs

[0]: https://github.com/pulp/pulp/pull/3129
[1]: http://file.rdu.redhat.com/~bbouters/plugins/plugin-api/download.html
[2]: https://pulp.plan.io/issues/2951#note-17
[3]: https://github.com/dkliban/pulp_example/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/pulp-dev/attachments/20170824/323321ac/attachment.htm>

More information about the Pulp-dev mailing list