Я работаю над анализом довольно сложного потока данных, генерируемого USB-устройством, которое эмулирует клавиатуру.Самый простой способ для меня осмыслить и разобраться с данными был бы, если бы у меня был метод, называемый чем-то вроде GetNextInputCharacter
, и я мог бы выполнять весь анализ за один раз, не выполняя по одному фрагменту за раз, когда я получаю ввод,К сожалению, я не буду знать, сколько байтов ожидать в потоке, пока я не проанализирую его значительно, и я бы предпочел не ждать конца для его анализа.
Существует ли какой-либо механизм или шаблон проектирования, которыйможет принять асинхронный ввод из ключевого события и передать его моему методу разбора по требованию?Все, что я могу придумать, это IEnumerable, который занят в ожидании FIFO, который заполняет ключевое событие и выдает их по одному за раз.Это похоже на взлом, но, возможно, это сработает.Я просто хочу, чтобы процедура синтаксического анализа притворялась, будто вход уже есть, и принимала его, не зная, что она должна ждать события.