Re: Simultaneous destructors

Chris Jones <[email protected]>
Newsgroups gmane.comp.mozilla.devel.dom
Message-ID <[email protected]>
Jason Duell wrote:
>> I can offer a hand-wavy argument about why I think that state divergence
>> makes protocols harder to reason about.
>>
>> is a protocol that allows state to permanently diverge.  When reasoning
>> about this protocol, I need to keep the "branch" of the divergence in
>> mind, and consider two paths (states synced, states not).  Now, I could
>> take this same pattern, recursively graft it into S1 and S2, and now I
>> have two more branch points.  So there are 6 stable states in the
>> protocol, and my C++ code has to keep track of two levels of possibly
>> different paths taken through parent/child.  Then recursively graft ...
> 

BTW, I think a better way of saying this is "with divergent state, 
reasoning about the protocol becomes an O(n^2) operation in the number 
of states, rather than O(n)."

> Perhaps we could set a limit on how many such divergences a protocol
> is allowed
> to have.  We certainly don't need to support the sort of example
> you're giving.
> 

Seems like a slippery slope to me, since that limit would have to 
monotonically increase with time.

>> It seems desirable to me that we do not require acknowledging every message:
>> when the channel has data available, it sends that data along and doesn't
>> cache it.
> 
> I agree with bsmedberg here.  But I can start by seeing how much of a
> pain it is
> to cache data if we can't modify IPDL (or do it in time: it hopefully
> won't be
> long).
> 

I think it would be an interesting experiment to try.  Probably only 
need to spec out the code, short of writing it, to see how much of a 
pain queueing dataavailable would be.

Cheers,
Chris
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.