Therapyx
@Therapyx
Data Science

Контролирование кол-ва отсылаемых евентов с регулировкой константного и реального времени.?

Суть состоит в том, что нужно написать алгоритм, который контролировал бы при считывании фаила кол-во отсылаемых строк, в зависимости от времени записанных в эти строки, реального времени(мс) и заданной максимальной границы, которая была бы рычагом контрола всего механизма. А теперь к деталям... ))
в меине представим обчную ситуацию:
формат строки с юникс временем, пусть будет таким)) -> line = "125342740, 43, 245": каждые 300 строк = плюс 10мс.
while(line = reader.readLine()) != null) {
     sendEvent(line); // этот sendEvent надо обвернуть в оболочку, которая бы служила контроллером для ожидания или продолжения пересылки считывания фаила. подумал об:
     long time = split... //достаем время
     while(checkTime(time)) {
           sendEvent(line);
     }
}

где checkTime - это отдельный класс со своими атрибутами, к примеру
Инициализация глобального таймера... пусть будет long timer;
class timeControl {
   private eventsToSend = x; //кол-во максимальных строк для отправки за промежуток "у" времени.
   private eventsToSendTimeLimit = y; //как раз таки это время для eventsToSend
   private timeStart = время первой строки для фиксации константного начала.
   
   public boolean checkTime(long time) {
      //иииии вот оно место где я взываю о помощи))) 
   }
}


Если сверху не совсем понятно, вот еще реальный пример.
Дано:
- каждые 300 строк с одинаковым временем, 301ая строка будет уже с +10мс итд.
- таймер реального времени
=> В промежуток 100мс реального времени должны отослаться все строки к примеру за 50мс константного времени(5*300 = 1500), НО! если это число привышает 1000, то таймер должен ждать до конца 100 мс не отсылая оставшиеся 500 строк.

В итоге конечно же можно всю эту работу будет автоматически оптимизировать, дабы не вбивать руками, но это уже не так важно.
Если ли у кого предпложения как бы более элегантнее можно было мой костыль доделать или же есть уже готовые более лучшие решения? ) Ибо если я сейчас продолжу писать, то как я это продумал, чую ничего хорошего из этого не выйдет)
  • Вопрос задан
  • 159 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы