Рассматривая двоичный файл, организованный как сегменты данных, где первые 4 байта являются типом сегмента, а следующие 4 байта являются длиной сегмента, а остальные байты являются необработанными данными.Я могу разобрать первый сегмент как:
named!(my_parser<&[u8], SomethingParsed>, do_parse!(
segment_type: take!(4) >>
segment_length: be_u32 >>
segment_data: take!(segment_length) >>
(SomethingParsed {segments: ?})
))
Как я могу повторить этот шаг, пока не достигну конца файла?