Comment by lisper
> It seems like this person does not understand what exactly once delivery actually means.
Then by all means, enlighten me.
> It seems like this person does not understand what exactly once delivery actually means.
Then by all means, enlighten me.
I'm not asking for a debate. I'm simply asking you to tell me what "exactly once delivery" actually means in a way that isn't circular and doesn't beg the question of whether or not it is possible, i.e. the definition that is used in literally all of distributed systems research. So far no one has been able to do that.
Delivery is what happens when the signals cross from the wire into the network interface card.
Depending on the layer you’re operating on, you might instead say it’s the call to recv, or the DMA transfer. The point is that it’s logically a memcpy with no further processing. Just a memcpy. The physical data transfer.
It’s easy to build a reliable message-passing system on top of that, but any such system will either involve further processing or else be vulnerable to data loss.
> Delivery is what happens when the signals cross from the wire into the network interface card.
If you look at this sibling comment [1] you will find someone who disagrees with your definition.
[1] https://news.ycombinator.com/item?id=41601562
On your definition, yes, exactly-once delivery is not possible. But I think your definition is neither reasonable nor authoritative.
Exactly once delivery is when a message is delivered to any computer at any layer of abstraction exactly once.
It doesn't matter if TCP abstracts or any other layer abstracts this away, if a message can be delivered more than once it does not have the property of exactly once delivery.
You might disagree with this definition but you would be wrong. There is negative value in redefining exactly once delivery to mean what you think it means.
I don't want to get into a debate over semantics with you. You've redefined exactly once delivery to mean that if you have a layer of abstraction that hides that a message was delivered multiple times then it is "exactly once" delivery. That's not what exactly once delivery is. You clearly disagree but taking well understood and researched terms and redefining them to make a point is a complete waste of time for everyone. Nobody cares about what your personal definition of exactly once delivery is, they care about the definition that is used in literally all of distributed systems research.