<div dir="ltr"><div>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:<br><br></div><div># Code size and docs<br></div><div>* huge code savings by switching to asyncio. removes 2427 lines and adds 558 lines.<br></div><div>* ^ is surprising considering the majority of lines added are docs<br></div><div>* Read the compiled docs here [1]<br><br></div><div># Features<br></div><div>* 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].<br></div><div>* It has more features than the existing downloaders including additional ssl config, proxy_auth, additional connection options, and more.<br><br></div><div># Easier for plugin writers<br></div><div>* 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<br></div><div>* 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.<br></div><div>* Each object can be used independently or in conjunction with others<br></div><div><br></div><div># Demo<br></div><div>* works with the HEAD of master of pulp_example [3] (not pulp_file) which shows that it actually runs<br><br>[0]: <a href="https://github.com/pulp/pulp/pull/3129">https://github.com/pulp/pulp/pull/3129</a><br>[1]: <a href="http://file.rdu.redhat.com/~bbouters/plugins/plugin-api/download.html">http://file.rdu.redhat.com/~bbouters/plugins/plugin-api/download.html</a><br>[2]: <a href="https://pulp.plan.io/issues/2951#note-17">https://pulp.plan.io/issues/2951#note-17</a><br>[3]: <a href="https://github.com/dkliban/pulp_example/">https://github.com/dkliban/pulp_example/</a><br><br></div><div>-Brian<br></div></div>