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] |
|
|
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