-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Tony Lewis wrote: > Micah Cowan wrote: > >> Keeping a single Wget and using runtime libraries (which we were >> terming "plugins") was actually the original concept (there's >> mention of this in the first post of this thread, actually); the >> issue is that there are core bits of functionality (such as the >> multi-stream support) that are too intrinsic to separate into >> loadable modules, and that, to be done properly (and with a minimum >> of maintenance commitment) would also depend on other libraries >> (that is, doing asynchronous I/O wouldn't technically require the >> use of other libraries, but it can be a lot of work to do >> efficiently and portably across OSses, and there are already Free >> libraries to do that for us). > > Perhaps both versions can include multi-threaded support in their > core version, but the lite version would never invoke > multi-threading.
I mentioned this in the first post as well. The main problem I offered for this was that async I/O tends to make for much more complicated/hard-to-follow code, which will make the "lite" Wget (even more) difficult to read, without reaping the actual benefits gained from such complications. Of course, whether this is a sufficient justification to maintain two different versions of Wget is another question... There's also the fact that libcurl starts looking _very_ attractive to handle the async I/O web comm stuff, so that ideally we don't actually have to rewrite any of the I/O and HTTP logic, but just replace it wholesale. If we decide to use that for the async stuff, then it seemse to me that having two separate programs suddenly becomes more-or-less a foregone conclusion, as I don't really want to introduce a dependency on libcurl for the "lite" Wget (though Hrvoje's response on the thread that Daniel Stenberg posted suggests I'd have an excuse to do so). Note that in any case, having two separate command-line interfaces is pretty much unavoidable IMO, as the current CLI is fast becoming unwieldly, and certain aspects are fairly confusing, so that I don't really want to use it as the basis on which to build some of the newer configuration features; at the same time, I want to keep the current interface around for the current Wget usage, so I don't break people's scripts, etc. - -- Micah J. Cowan Programmer, musician, typesetting enthusiast, gamer... http://micah.cowan.name/ -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFHK3kf7M8hyUobTrERCCe6AJ93sxZkba5yDcaTF1asibpHZdjkzgCgiH0T 9xed5XQH/CEbZmknLpUtRPo= =L3hf -----END PGP SIGNATURE-----