Каков предпочтительный способ добавления/объединения ArrayBuffers?
Я получаю и анализирую сетевые пакеты с различными структурами данных. Входящие сообщения считываются в ArrayBuffers. Если приходит частичный пакет, мне нужно его сохранить и дождаться следующего сообщения, прежде чем повторять попытку его разбора.
В настоящее время я делаю что-то вроде этого:
function appendBuffer( buffer1, buffer2 ) {
var tmp = new Uint8Array( buffer1.byteLength + buffer2.byteLength );
tmp.set( new Uint8Array( buffer1 ), 0 );
tmp.set( new Uint8Array( buffer2 ), buffer1.byteLength );
return tmp.buffer;
}
Очевидно, что вам не нужно создавать новый буфер, поскольку ArrayBuffers имеют фиксированную длину, но необходимо ли инициализировать типизированные массивы? По прибытии я просто хочу, чтобы иметь возможность обрабатывать буферы в качестве буферов; типы и структуры не имеют никакого отношения.