[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