##// END OF EJS Templates
Merge pull request #8120 from jasongrout/arraybuffers...
Min RK -
r20831:e834e01c merge
parent child Browse files
Show More
@@ -75,15 +75,18 b' define(['
75 75 msg = _.clone(msg);
76 76 var offsets = [];
77 77 var buffers = [];
78 msg.buffers.map(function (buf) {
79 buffers.push(buf);
80 });
78 var i;
79 for (i = 0; i < msg.buffers.length; i++) {
80 // msg.buffers elements could be either views or ArrayBuffers
81 // buffers elements are ArrayBuffers
82 var b = msg.buffers[i];
83 buffers.push(b.buffer instanceof ArrayBuffer ? b.buffer : b);
84 }
81 85 delete msg.buffers;
82 86 var json_utf8 = (new TextEncoder('utf8')).encode(JSON.stringify(msg));
83 87 buffers.unshift(json_utf8);
84 88 var nbufs = buffers.length;
85 89 offsets.push(4 * (nbufs + 1));
86 var i;
87 90 for (i = 0; i + 1 < buffers.length; i++) {
88 91 offsets.push(offsets[offsets.length-1] + buffers[i].byteLength);
89 92 }
@@ -100,7 +103,7 b' define(['
100 103 }
101 104 // write all the buffers at their respective offsets
102 105 for (i = 0; i < buffers.length; i++) {
103 msg_buf.set(new Uint8Array(buffers[i].buffer), offsets[i]);
106 msg_buf.set(new Uint8Array(buffers[i]), offsets[i]);
104 107 }
105 108
106 109 // return raw ArrayBuffer
General Comments 0
You need to be logged in to leave comments. Login now