Constantine Cerberus
Такой вопрос пример есть устройство ввода отсылает пакеты данных в виде стрима который нужно прочитать и разбить на пакеты данных в соответствии с протоколом , тоисть на в ходе есть инпут стрим а на выходе пакеты причем стрим не всегда за раз присылает полный пакет так как он ограничен по скорости на данный момент при сборке он в callback присылает готовый пакет данных по мере поступления данных и возможности собрать полный пакет из стрима , все работает и работает хорошо но хотелось бы переехать на то что более легче в юнит тестах , вопрос как бы вы реализовали эту ситуацию или бы оставили все как есть заранее спасибо
Вот прямо в сей момент это пишу. Для управления оборудованием. Я использую рабочую версию kotlinx-io, там есть готовая функция для строк readUtf8StringUntilDelimiters. Но проблема с тем, что io не дружит с корутинами, так что в любом случае там будут блокировки. Я хочу запустить сборку пакетов с блокировкой на io, а потом преобразовать во Flow. Но еще надо поэкспериментировать. Старая версия работала на колбэке - тоже с блокирующим сбором.