[Twisted-Python] perspective broker question
Christopher Armstrong
radix at twistedmatrix.com
Tue Apr 22 11:39:11 EDT 2003
On 2003.04.22 05:13, Egor Cheshkov wrote:
> Hello everyone! Newbie question. I need to make a blocking call in
> perspective_X() method. So I put my call into separate thread and get a
> deferred wich will be called back when data available. But deferred
> could not be returned from perspective_X method (not sure).
Yes, you can return a Deferred from a perspective_ method and it will
do the right thing.
Also, you can do something like this
def perspective_X(self):
#doSomeOperation here returns a Deferred
return doSomeOperation().addCallbacks(self.mungeIt, self.ohCrap)
... And implement mungeIt and ohCrap to take the result, munge it in some
useful way, and return it. The return value will be used as the result
on the client side (who originally did callRemote('X'))
This way you can do some processing on the result of your operation
before the client gets it, if you need to.
For more info on Deferreds, http://twistedmatrix.com/documents/howto/defer
--
Twisted | Christopher Armstrong: International Man of Twistery
Radix | Release Manager, Twisted Project
---------+ http://twistedmatrix.com/users/radix.twistd/
More information about the Twisted-Python
mailing list