I'm sorry, I cannot see why the while loop in this process must
terminate. (Or the corresponding one for the Receiver.)
process (Sender = "S")
variables toSend = 0; ack = 0;
{
l_send:
while (toSend < PckCount) {
either {
Send(toSend, msgC);
}
or {
Rcv(ack, ackC);
l_depart:
\* if ack received, send next two packets
if (ack = (toSend + 1)) {
toSend := ack;
}
}
}
}
Yes, the new version is 1.4.9.