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