Работаю над реализацией потокового декодера изображений.
Изображение приходит в виде http request или читается с помощью fs.createReadStream.
Из документации nodejs понял, что нужно использовать Writable стрим, реализовав в нём метод write.
highWaterMark задаётся равный 8 (т.к. первые 8 байт это сигнатура);
class Decoder extends Writable {
constructor() {
super({
write(chunk, encoding, callback): void {
// Some code
},
highWaterMark: 8,
});
}
}
Но, почему-то при вызове write приходит chunk намного большей длины.
Вопрос в том, как ограничить размер чанка и можно ли динамически менять считываемую длину?