S
Skybuck Flying
Hi,
Suppose one wants to send 1 million bytes per second over a communication
device by using small packets each of 500 bytes.
One would need 1.000.000 divided by 500 = 2000 packets.
1000 millisecond (=1 second) divided by 2000 packets = is 0.5 millisecond
per packet.
So the pace (or interval) between each packet would have to be something
like 500 microsecond. (=0.5 millisecond)
I see two ways of doing communication on windows:
1. Using a thread and a high performance timer to measure the time elapsed
in microseconds which allows very paced packets.
2. Using windows event system which has an accuracy of 10 milliseconds...
this would require 10 divided by 0.5 = 20 packets per 10 milliseconds to be
sent.
My question is with case 2...
Will this lead to bursty communication ? probably yes on faster devices...
How bad can case 2 be with different kind of devices ?
I am also guessing that windows is pretty smart about it or hardware drivers
are smart... or that the ethernet hardware is smart etc and uses queues
etc... to store 20 packets etc... and still make sure all 20 are sent... ?
Anybody know something about case 2 ?
Bye,
Skybuck.
Suppose one wants to send 1 million bytes per second over a communication
device by using small packets each of 500 bytes.
One would need 1.000.000 divided by 500 = 2000 packets.
1000 millisecond (=1 second) divided by 2000 packets = is 0.5 millisecond
per packet.
So the pace (or interval) between each packet would have to be something
like 500 microsecond. (=0.5 millisecond)
I see two ways of doing communication on windows:
1. Using a thread and a high performance timer to measure the time elapsed
in microseconds which allows very paced packets.
2. Using windows event system which has an accuracy of 10 milliseconds...
this would require 10 divided by 0.5 = 20 packets per 10 milliseconds to be
sent.
My question is with case 2...
Will this lead to bursty communication ? probably yes on faster devices...
How bad can case 2 be with different kind of devices ?
I am also guessing that windows is pretty smart about it or hardware drivers
are smart... or that the ethernet hardware is smart etc and uses queues
etc... to store 20 packets etc... and still make sure all 20 are sent... ?
Anybody know something about case 2 ?
Bye,
Skybuck.