On May 10, 2010, at 1:01 PM, Xtroce wrote:

> Question: A Protocol should unpack some binary data. this is done in
> seperate calls to struct.unpack . Inbetween i do some checks for
> length, some strings returned are concatenated using join and logs are
> written. This all happens in the factory of the Protocol. To keep the
> code unblocking would it be wiser to spawn new Threads from the
> Protocol around the whole function, like:
> d = threads.deferToThread(self.factory.readPackage, data)
> because it all has to happen after one another anyway.
> Or should i split it up in deferreds which if i get it correctly would
> mean to create callback functions for each of the unpack()'s, join()'s
> and str()'s
> thanks

If the work is all synchronous (i.e. in-memory manipulations of data, no I/O) 
then just do it synchronously in the main thread.

If this blocks for a while and you want to parallelize it, it would be a good 
idea to split it into a separate process rather than doing any of the things 
you suggest.


_______________________________________________
Twisted-Python mailing list
[email protected]
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python

Reply via email to