at:tutorial:actors
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
at:tutorial:actors [2008/03/13 16:23] – * tvcutsem | at:tutorial:actors [2008/06/18 19:22] – install tvcutsem | ||
---|---|---|---|
Line 204: | Line 204: | ||
The solution proposed in the [[http:// | The solution proposed in the [[http:// | ||
+ | |||
+ | As an example of a pipeline of message sends, consider the following code: | ||
+ | |||
+ | < | ||
+ | def booleanFuture := remoteObject< | ||
+ | booleanFuture< | ||
+ | ... | ||
+ | } ifFalse: { | ||
+ | ... | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | In this example, the message '' | ||
==== Working with Resolved Futures ==== | ==== Working with Resolved Futures ==== | ||
Line 271: | Line 284: | ||
</ | </ | ||
- | Finally, it is useful to know that '' | + | Finally, it is useful to know that '' |
< | < | ||
Line 320: | Line 333: | ||
Some operations, such as creating and sending asynchronous messages are useful to reify at the //actor level//. With such a reification, | Some operations, such as creating and sending asynchronous messages are useful to reify at the //actor level//. With such a reification, | ||
- | Overriding the actor' | + | Overriding the actor' |
< | < | ||
- | def oldmirror := actor.install: (extend: actor with: { | + | def oldmirror := actor.replaceMirror: (extend: actor with: { |
def send(msg) { | def send(msg) { | ||
log(msg); | log(msg); | ||
Line 331: | Line 344: | ||
</ | </ | ||
- | Notice that, in this example, the new metaobject protocol is an extension of the old protocol. This enables it to invoke its parent' | + | Notice that, in this example, the new metaobject protocol is an extension of the old protocol. This enables it to invoke its parent' |
< | < |
at/tutorial/actors.txt · Last modified: 2020/02/05 21:26 by elisag