Currently there are two HTTP providers in wagon infratstucture: http and ligh thttp, both based on commons-http-client.
Mercury transport was create as green field Jetty client implementation with efficiency as a major design goal. It will be beneficial to utilize optimized features of Mercury client in the wagon provider:
- Jetty client is highly optimized for network transfers
- Mercury HTTP client accepts set parameters and parallelizes all the transfer operations
- Mercury can be configured to automatically verify and/or generate OpenPGP signatures
Wrapping Mercury into a wagon provider presents some challenges as Wagon architecture is a little outdated and is missing some parameters that will cause implementation to do unnecessary conversions - for example: TransferEvent in wagon APIs accepts byte  buffer and int length. Jetty client optimizes even buffer usage and parameter offset is essential. Conversion here is a lost of memory and cycles.