##// 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 msg = _.clone(msg);
75 msg = _.clone(msg);
76 var offsets = [];
76 var offsets = [];
77 var buffers = [];
77 var buffers = [];
78 msg.buffers.map(function (buf) {
78 var i;
79 buffers.push(buf);
79 for (i = 0; i < msg.buffers.length; i++) {
80 });
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 delete msg.buffers;
85 delete msg.buffers;
82 var json_utf8 = (new TextEncoder('utf8')).encode(JSON.stringify(msg));
86 var json_utf8 = (new TextEncoder('utf8')).encode(JSON.stringify(msg));
83 buffers.unshift(json_utf8);
87 buffers.unshift(json_utf8);
84 var nbufs = buffers.length;
88 var nbufs = buffers.length;
85 offsets.push(4 * (nbufs + 1));
89 offsets.push(4 * (nbufs + 1));
86 var i;
87 for (i = 0; i + 1 < buffers.length; i++) {
90 for (i = 0; i + 1 < buffers.length; i++) {
88 offsets.push(offsets[offsets.length-1] + buffers[i].byteLength);
91 offsets.push(offsets[offsets.length-1] + buffers[i].byteLength);
89 }
92 }
@@ -100,7 +103,7 b' define(['
100 }
103 }
101 // write all the buffers at their respective offsets
104 // write all the buffers at their respective offsets
102 for (i = 0; i < buffers.length; i++) {
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 // return raw ArrayBuffer
109 // return raw ArrayBuffer
General Comments 0
You need to be logged in to leave comments. Login now