[e-lang] Should local promises respond to __whenMoreResolved on resolution?
Kevin Reid
kpreid at mac.com
Sun Sep 9 13:57:35 EDT 2007
On Sep 9, 2007, at 13:42, Mark Miller wrote:
> On 9/9/07, Kevin Reid <kpreid at mac.com> wrote:
>> Currently, if I understand correctly, they will remain different
>> until the remaining promise resolves to a resolved-ref or a remote
>> promise which itself resolves and responds to __whenMoreResolved at
>> that time.
>
> I would have said "or a remote promise" without the "which itself
> resolves". The second clause seems incorrect to me.
The event of { the local promise resolves to the remote promise }
does not trigger any notification, because it is the local promise's
responsibility to do so if it happens at all. The local promise
currently merely forwards messages to the remote promise; the remote
promise's expected behavior is to either queue or forward them.
>> It also seems to break shortening: if the latter promise in the above
>> scenario is a proxy, then it might be a candidate for 2 or 3-vat
>> shortening, but the local comm system won't be notified of the
>> resolution.
>
> I don't understand this scenario. Can you expand? Thanks.
If no WMR-reactor is invoked as a result of a local promise
resolving, then the local comm system can't know to send a response
to the remote holder of that promise which carries the to-be-
shortened ref as a Promise3Desc.
1. Alice and Carol have local promises. Alice has a CapTP reference
to Carol's promise.
2. Alice sends her promise to Bob. Her local comm system sends
__whenMoreResolved to the promise with the redirector as reactor. The
message is queued in the local resolver.
3. Alice resolves her local promise to (her proxy for) Carol's
promise; the WMR message is forwarded to her proxy-for-Carol.
Nothing here causes a Promise3Desc to be sent to Bob's redirector for
his proxy of Alice's promise.
--
Kevin Reid <http://homepage.mac.com/kpreid/>
More information about the e-lang
mailing list