Как насчет фиксирования произвольного количества времени и отправки данных, относящихся к нему?
Например, скажем, я хочу, чтобы мой сервер ограничил использование полосы пропускания до 100 Байт / с.Поэтому я исправляю 1 секунду и отправляю данные, пока они не выходят за пределы 1 секунды и 100 байт.
Вот несколько псевдокодов, чтобы показать, о чем я говорю:
timer_get (a);
sent_data = 0;
while (not_finished_sending_data)
{
timer_get (b);
if ((b - a) < 1 ) // 1 second
{
if (sent_data < 100) // 100 bytes
{
// We actually send here
sent_data += send();
}
}
else
{
timer_get (a);
sent_data = 0;
}
}