emerge can use wget to retrieve the packages, via FTP or HTTP. When retrieving many packages we usually see wget connecting to a mirror server, retrieve the package (via FTP or HTTP) and then disconnect, and then again, using the same server. I think it would be more efficient to have 'pooled' connections at least for during the run of emerge. This is the idea (I am sure somebody else must already have thought about this): 1) the first call to the package retriever spawns an 'esource' process which then stays listening 2) emerge asks to esource to retrieve a certain package 3) esource will eventually take it from a local cdrom, a local directory, a network path or an TP/HTTP/... server 4) esource keeps connections open 5) emerge tells esource that we're done asking packages and esource closes all connections This would be very efficient if using 'emerge -f', that probably should become mandatory. esource could use libcurl to accomplish to wget tasks. I just hope such feature would not add too much complexity.
Well, you can change the FETCHCOMMAND variable to implement this. If you want to create such a program yourself we can include it, but I don't see us implementing it (I honestly don't see much benefit in it). What we might do eventually is to handle the fetching internally in python, but that's going to require other changes first.