Я пытаюсь разбить поток байтов на куски увеличивающегося размера.
Исходный поток содержит неизвестное количество байтов и дорог для чтения.Выходными данными перечислителя должны быть байтовые массивы увеличивающегося размера, начиная с 8 КБ до 1 МБ.
Это очень просто сделать, просто прочитав весь поток, сохранив его в массиве и вынув соответствующие фрагменты,Однако, поскольку поток может быть очень большим, читать его сразу невозможно.Кроме того, хотя производительность не является главной проблемой, важно поддерживать очень низкую загрузку системы.
При реализации этого я заметил, что сделать код коротким и обслуживаемым относительно сложно.Также необходимо помнить о некоторых проблемах, связанных с потоками (например, Stream.Read может не заполнить буфер, даже если он успешно выполнен).
Я не нашел ни одного существующего класса, который помог бы в моем случае,и при этом я не мог найти что-то близкое в сети.Как бы вы реализовали такой класс?