[Python-Dev] Active Objects in Python
Bruce Eckel
BruceEckel-Python3234 at mailblocks.com
Wed Sep 28 04:38:11 CEST 2005
Oops. I forgot to add that to the list. Yes, in the working example
of Active Objects that I've written in Java J2SE5, when you send a
message to an active object, you get back a Future<ReturnType>, which
I suspect would be the same as your Deferred.
Tuesday, September 27, 2005, 7:41:27 PM, Christopher Armstrong wrote:
> On 9/28/05, Greg Ewing <greg.ewing at canterbury.ac.nz> wrote:
>> Nick Coghlan wrote:
>>
>> > PEP 342's yield expressions can probably be used to help address that problem,
>> > though:
>> >
>> > class SomeAO(ActiveObject):
>> > def processSomeMessage(self):
>> > msg = yield
>> > # Do something with the message
>> > next_msg = yield makeSomeBlockingCall(self)
>> > # Do something with the next message
>>
>> I don't see how that helps, since makeSomeBlockingCall()
>> is evaluated (and therefore blocks) *before* the yield
>> happens.
> Sounds like makeSomeBlockingCall is just misnamed (probably depending
> who you ask).
> I wrote a small library recently that wraps Twisted's Deferreds and
> asynchronous Failure objects such that you can do stuff like
> try:
> x = yield remoteObject.getSomething()
> except Foo:
> print "Oh no!"
> This is just a 2.5-ification of defgen, which is at
> twisted.internet.defer.{deferredGenerator,waitForDeferred}. So anyway,
> if your actor messages always return Deferreds, then this works quite
> nicely.
> --
> Twisted | Christopher Armstrong: International Man of Twistery
> Radix | -- http://radix.twistedmatrix.com
> | Release Manager, Twisted Project
> \\\V/// | -- http://twistedmatrix.com
> |o O| |
> w----v----w-+
> _______________________________________________
> Python-Dev mailing list
> Python-Dev at python.org
> http://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe:
> http://mail.python.org/mailman/options/python-dev/bruceeckel-python3234%40mailblocks.com
Bruce Eckel http://www.BruceEckel.com mailto:BruceEckel-Python3234 at mailblocks.com
Contains electronic books: "Thinking in Java 3e" & "Thinking in C++ 2e"
Web log: http://www.artima.com/weblogs/index.jsp?blogger=beckel
Subscribe to my newsletter:
http://www.mindview.net/Newsletter
My schedule can be found at:
http://www.mindview.net/Calendar
More information about the Python-Dev
mailing list