On Wednesday, 3 May 2017 at 04:22:00 UTC, Stefan Koch wrote:
[...]
I think any ordering should be done explicitly at the debugging
protocol level.
for example when sending sourceline messages the order is given
by the line number and ordering can be done by the application.
It's the same for breakpoint setting or for breakpoint trigger
notification.
Why? If I were to write a client for the debugging protocol, I
wouldn't want to write protocol ordering logic (and essentially
reimplement part of tcp). I would want to react to protocol
messages as they arrive.
As for lost packages, we want to respond intelligently as well.
The only way I know of to respond intelligently to lost packages
using udp - if you care about the information in them (which we
do in this use case) - is to implement a retransmit mechanism;
i.e. you would be reimplementing another part of tcp.
And maybe reduce the amount of data in the package, to make
arrival of future packages more likely.
You assume a causation between udp datagram size and delivery
probability, which - however likely - is an implementation detail.