writeByteData method
Writes bytes from ByteData.
Implementation
void writeByteData(ByteData value, [int index = 0, int? writtenLength]) {
final int lengthToWrite = writtenLength ?? value.lengthInBytes - index;
ensureAvailableLength(lengthToWrite);
final byteData = _byteData;
var bufferLength = _length;
var remaining = lengthToWrite;
if (remaining >= _minLengthForUint32CopyMethod) {
final endian = Endian.host;
while (remaining >= 4) {
byteData.setUint32(
bufferLength,
value.getUint32(index, endian),
endian,
);
bufferLength += 4;
index += 4;
remaining -= 4;
}
}
while (remaining > 0) {
byteData.setUint8(bufferLength, value.getUint8(index));
bufferLength++;
index++;
remaining--;
}
_length = bufferLength;
}