[E-Lang] Hash Chaining & Capabilities, Proposal #1b: SimplifyingPluribus
Tyler Close
tclose@oilspace.com
Wed, 25 Oct 2000 12:04:00 +0100
A while back, markm wrote:
> So, if no one has a counter-argument, I'm still planning to
> look up a
> swissNumber rather than a pair, and I'm still planning to
> use the Vine to
> determine what vat to round trip to, rather than provide
> other extra
> information for this purpose.
I don't think that the partial ordering of messages that E defines,
guarantees that a round trip to the originating Vat will complete
after the original message. The two messages are sent on different
'live' references, so there are no order guarantees.
I think a small change to the Vine will fix this. When VatA generates
and sends the cap the VatB, it also includes the cap for the slot in
VatA that VatC will eventually resolve. When VatC receives the message
from VatB, and finds that the cap does not exist yet, it sends a
"whenResolved" message on the second cap (the one identifying the slot
in VatA). This is the same "whenResolved" message that promises
currently support.
The "whenResolved" message is the standard way to impose order on
separate 'live' references, so it seems appropriate to use it to solve
this problem.
Tyler