pan-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Pan-devel] Progress update on multi-threading of pan uudecode code


From: Calin A. Culianu
Subject: [Pan-devel] Progress update on multi-threading of pan uudecode code
Date: Mon, 19 Mar 2007 17:41:59 -0400 (EDT)


Hi all,

I have a working imlpementation of pan with a worker thread that gets handed off the uudecode operation when the main thread finishes downloading a binary article (or set of articles).

I did my best to integrate my coding style and design into pan's way of doing things and I am pretty happy with the result.

I am optimistic that Charles will accept my code changes.

Already I am getting 100% network utilization, as the decode operation happens in another thread and doesn't stall the article downloads one iota.

That was my goal -- as that was the personal itch I was scratching with this change.

There is still some ironing out to do -- namely I am trying to figure out how the task/queue mechanism in pan works because I'm afraid of corner cases as well as the really obvious problem of right now my tasks never get deleted from the task list (probably have to just read the queue.cc code more carefully).

I also need to read the code some more and see about making the UI inform the user that the decode operation is ongoing or is enqueued (right now it just says "Queued" when it should be saying "Decoding").

I also need to worry about corner cases a bit more, since there could be a few.

Anyway just wanted to let you guys know that this work is underway and I am optimistic that soon (I hope) we will have a version of pan that decodes in another thread and thus is really optimal for binary leechers like myself.

PS: If Charles is reading this and he wants to fix the queue.cc code for me to be 100% perfect, I would be more than happy to give him my changes thus far, otherwise I will do it myself...


Cheers,

-Calin





reply via email to

[Prev in Thread] Current Thread [Next in Thread]