Anexando ArrayBuffers

¿Cuál es la forma preferible de agregar / combinar ArrayBuffers?

Estoy recibiendo y analizando paquetes de red con una variedad de estructuras de datos. Los mensajes entrantes se leen en ArrayBuffers. Si llega un paquete parcial, necesito almacenarlo y esperar el siguiente mensaje antes de volver a intentar analizarlo.

Actualmente estoy haciendo algo como esto:

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;
}

Obviamente, no puede evitar tener que crear un nuevo búfer ya que los ArrayBuffers tienen una longitud fija, pero ¿es necesario inicializar matrices escritas? Al llegar, lo único que quiero es poder tratar los buffers como buffers; Los tipos y las estructuras no son motivo de preocupación.

Respuestas a la pregunta(3)

Su respuesta a la pregunta