Progress update on multi-threading of pan uudecode code

"Calin A. Culianu" <[email protected]>
Newsgroups gmane.comp.gnome.apps.pan.devel
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.