Re: Simultaneous destructors
Benjamin Smedberg <[email protected]>
| Newsgroups | gmane.comp.mozilla.devel.dom |
|---|---|
| Message-ID | <[email protected]> |
On 10/12/09 7:40 PM, Chris Jones wrote: > I'd prefer not to make this change until we have a dire need. I think > it will make protocols harder to reason about, and I like the > |unchecked| and |discard| proposals better than this. Explicitly acknowledging messages has additional costs beyond just the IPC latency and ping-pong times. Most importantly is that we currently have programming models where we don't have to wait to fire multiple onDataAvailable events. Since we can't completely change necko, the channel parent class will have to accept "immediate" calls to onDataAvailable/onStopRequest and create a queue for them. This is a fair bit of complexity in the channel classes that we could avoid. In addition, every time you require a ping pong you're not just dealing with the IPC latency: you're also dealing with the latency of the event loop in both processes. It seems to me that we'd be better off putting more work into IPDL to allow parent and child to do out-of-sync state transitions. We can prove that the possible set of transitions is still theoretically sound, and at the same time reduce the burden on protocol implementers. --BDS