Well, let us also never quite forget that:
"CPUs work with nanoseconds, while networks still work with "milliseconds, at best."
"What?
This packet arrived one
millisecond later than
that one?" Good grief!
"Why, that's millions of nanoseconds!"
And so it goes.
The bottom line is that
(I think ...) your objective
cannot(!) be achieved through traffic shaping of
any kind:
Quote:
"My TCP client should not send data till iperf completes sending its data."
|
At least to my way of thinking, the only possible way to achieve any such objective is to have the two programs in question actually
talk to one another. They both must, first of all, be aware of each other. Your "TCP client" must be waiting for the receipt of some message from "iperf" ... a message that "iperf" knows to send after it has, in its judgment, "completed sending its data."
This entire interaction will occur across a timeframe of milliseconds ... or seconds ... or minutes ... or ...