Re: Simultaneous destructors

Jason Duell <[email protected]>
Newsgroups gmane.comp.mozilla.devel.dom
Organization http://groups.google.com
Message-ID <736bc12c-ec55-4352-99a2-c9dd99bf41d3@y28g2000prd.googlegroups.com>
> 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 ...

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.

> 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 understood |discard| to be a mechanism that allows you to tell the compiler
> exactly what you wrote above, that a message is no longer needed.

Your proposal for |discard| sounds fine.

Jason
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.