-----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-----

Reply via email to