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