[e-lang] Proposal: Remove
parametersfrom __whenMoreResolved/__whenBroken reactors
Karp, Alan H
alan.karp at hp.com
Mon Feb 27 12:21:37 EST 2006
MarkM wrote:
>
> For example, let's say Xb is a remote promise in VatB for a
> local promise Xa whose promise/resolver pair is on VatA, and
> Ya is a remote promise in VatA for a local promise Yc on
> VatC. If VatA resolves Xa to Ya, this notifies the
> DelayedRedirector for Xb with a new Yb as the argument. (This
> Yb is made by during unserialization of the reactor
> notification message.) The DelayedRedirector uses this
> argument to shorten Xb to be equivalent to Yb, cutting VatA
> out of the promise chain. If nothing else is retaining the
> portion of this promise chain in VatA, it can will be gc'ed.
>
What happens if VatB can't reach VatC, say because of a firewall?
________________________
Alan Karp
Principal Scientist
Virus Safe Computing Initiative
Hewlett-Packard Laboratories
1501 Page Mill Road
Palo Alto, CA 94304
(650) 857-3967, fax (650) 857-7029
https://ecardfile.com/id/Alan_Karp
http://www.hpl.hp.com/personal/Alan_Karp
> -----Original Message-----
> From: e-lang-bounces at mail.eros-os.org
> [mailto:e-lang-bounces at mail.eros-os.org] On Behalf Of Mark S. Miller
> Sent: Friday, February 24, 2006 5:28 PM
> To: Discussion of E and other capability languages
> Subject: Re: [e-lang] Proposal: Remove parametersfrom
> __whenMoreResolved/__whenBroken reactors
>
> Kevin Reid wrote:
> > I haven't noticed an explanation being posted, and I have not
> > stumbled across the reason myself. Could you write it or point to
> > where it was posted?
>
> The DelayedRedirector and the Redirector use the reactor
> argument to propagate promise resolution from the head of a
> remote reference to the tail. This same mechanism is used to
> propagate partial resolution, shortening multivat promise chains.
>
> For example, let's say Xb is a remote promise in VatB for a
> local promise Xa whose promise/resolver pair is on VatA, and
> Ya is a remote promise in VatA for a local promise Yc on
> VatC. If VatA resolves Xa to Ya, this notifies the
> DelayedRedirector for Xb with a new Yb as the argument. (This
> Yb is made by during unserialization of the reactor
> notification message.) The DelayedRedirector uses this
> argument to shorten Xb to be equivalent to Yb, cutting VatA
> out of the promise chain. If nothing else is retaining the
> portion of this promise chain in VatA, it can will be gc'ed.
>
> When I tried to simplify the __whenMoreResolved protocol to
> remove the reactor argument, I found I had no other means to
> shorten promise chains, or even to resolve a remote promise
> when its target promise resolved.
>
> --
> Text by me above is hereby placed in the public domain
>
> Cheers,
> --MarkM
>
> _______________________________________________
> e-lang mailing list
> e-lang at mail.eros-os.org
> http://www.eros-os.org/mailman/listinfo/e-lang
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Karp, Alan H.vcf
Type: text/x-vcard
Size: 423 bytes
Desc: Karp, Alan H.vcf
Url : http://eros.cs.jhu.edu/pipermail/e-lang/attachments/20060227/69f88bd0/KarpAlanH.vcf
More information about the e-lang
mailing list