[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: What does it mean for the NP to "send" a message?
Intuitively, sending a message means something like putting it on the
wire so that the Consumer will receive it, but as it stands, this
notion is not precise enough for our purposes. The distinction
between sending a message and putting it on the wire has just come up
in the context of continuity, and it's clearly important for
reliability as well. I suspect that defining the concept rigorously
will also clarify the semantics of other delivery-oriented policies
such as durability, queuing, one-of-N delivery and so forth. Since this is a sticky question, it seems best to
In the case of continuity in the face of subscription property changes, the issue is that certain messages may never be submitted, not that submitted messages will never be sent. I believe that the cleanest semantic for BaseN is that
In this view, all further semantics, including reliability, security, durability and so forth, are between the sender and the receiver. The reliability standards are very careful not to say what kind of connection exists between producer and sender, or between receiver and consumer. The exact meaning of submit and deliver are left implementation dependent. The strong implication is that they are generally local calls with a single process space, and thus are reliable and secure barring catastrophes. In any event, guarantees of reliability are only made between the sender and receiver, and I believe we should follow this pattern for all non-trivial delivery semantics. |
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]