Я хочу преобразовать Observable<ByteBuffer>
в строки (Observable<String>
) путем разбиения по символу окончания строки. Если у нас есть такие функции, как toString
, concat
и splitByLine
, мы должны быть в состоянии сделать, как:Эффективный способ преобразования потока ByteBuffer в строки в Rx
Observable<ByteBuffer> o = ...;
o.map(toString).reduce(concat).flatMap(splitByLine);
Этот алгоритм, однако, необходимо сканировать целые байты первого и хранить их в памяти, прежде чем на самом деле излучать первая строка десериализованной строки. Как испускать новую строку каждый раз, когда окончание строки появляется в байтах постепенно?