Как реализовать простое формирование трафика в го - PullRequest
1 голос
/ 15 марта 2019

Я пытаюсь в качестве упражнения реализовать простой формирователь трафика в go.

API: push (int): помещает int в формирователь out (): выводит 1 или более int (s)из формирователя.

push вызывается клиентами, и скорость не может контролироваться.out вызывается примерно каждые 1 мс и может выдавать 1 или более интервалов и пытается поддерживать постоянную скорость вывода r интс в 1с, но может выводить больше, если внутренний буфер формирователя находится под угрозой переполнения.Однако вывод должен быть как можно более равномерным.Например: Out: 1 1 2 2 2 1 лучше, чем Out: 1 1 5 1 1

, так как второй пример - пакетный (есть выход 5 дюймов).

У меня естьидея о том, как сделать это с помощью алгоритма Buckety Bucket.

Мой вопрос: Как реализовать в Go, что вывод вызывается полурегулярно примерно с тиками 1 мс?

1 Ответ

0 голосов
/ 15 марта 2019

Как реализовать в Go, что вывод вызывается полурегулярно примерно с тиками 1 мс?

Используйте стандартный time.Ticker , настроенный для сброса вывода каждую 1 миллисекунду .

...