On 12/18/13 6:59 PM, Jack Moffitt wrote:
1) Drop messages on the floor: This falls into the category of "at most
once" message semantics that actor systems are typically described as having
(although there's a fun discussion about this right now on the friam mailing
list). My personal opinion is that systems that can tolerate the loss of
messages are more robust by design

This is unsuitable as a general purpose mechanism. Whether this is
appropriate is highly application specific.

I think it's mostly a question of defaults. We can't really drop any UI events in Servo, so we need the really-unbounded-queues, with all their known problems. But I can definitely believe that some applications (servers) want bounded messages with message overflow dropping on the floor. So I think we should have both in the language.

The question in my mind is not whether we should have both primitives but which should be the default. For this I'm not sure: the possibilities (dropping messages, or exploding in memory consumption, or introducing subtle deadlocks) are all pretty bad. It may well be that dropping the messages is the last bad option, because the last two options usually result in a crashed app...

Patrick

_______________________________________________
Rust-dev mailing list
Rust-dev@mozilla.org
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to