Last active
December 27, 2015 20:39
-
-
Save daicoden/7386262 to your computer and use it in GitHub Desktop.
Patch for speeding up webrtc with the reliable shim.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
From 4372eada0cb413d3834abb6a485f0fee5e72345e Mon Sep 17 00:00:00 2001 | |
From: Matt Wilson <[email protected]> | |
Date: Sat, 9 Nov 2013 06:11:06 -0800 | |
Subject: [PATCH] Booo Fuckin Ya. | |
--- | |
assets/javascripts/vendor/peer.js | 30 ++++++++++++++++++------------ | |
1 files changed, 18 insertions(+), 12 deletions(-) | |
diff --git a/assets/javascripts/vendor/peer.js b/assets/javascripts/vendor/peer.js | |
index 0cd852d..5320e73 100644 | |
--- a/assets/javascripts/vendor/peer.js | |
+++ b/assets/javascripts/vendor/peer.js | |
@@ -60,13 +60,15 @@ BufferBuilder.prototype.getBuffer = function() { | |
}; | |
exports.BinaryPack = { | |
unpack: function(data){ | |
- var unpacker = new Unpacker(data); | |
- return unpacker.unpack(); | |
+ return JSON.parse(data); | |
}, | |
pack: function(data, utf8){ | |
- var packer = new Packer(utf8); | |
+/* var packer = new Packer(utf8); | |
var buffer = packer.pack(data); | |
return buffer; | |
+*/ | |
+ buffer = JSON.stringify(data); | |
+ return buffer; | |
} | |
}; | |
@@ -755,7 +757,7 @@ function Reliable(dc, debug) { | |
Reliable.prototype.send = function(msg) { | |
// Determine if chunking is necessary. | |
var bl = util.pack(msg); | |
- if (bl.size < this._mtu) { | |
+ if (bl.length < this._mtu) { | |
this._handleSend(['no', bl]); | |
return; | |
} | |
@@ -913,7 +915,7 @@ Reliable.prototype._handleMessage = function(msg) { | |
var n = msg[2]; | |
var chunk = msg[3]; | |
- data.chunks[n] = new Uint8Array(chunk); | |
+ data.chunks[n] = chunk; | |
// If we get the chunk we're looking for, ACK for next missing. | |
// Otherwise, ACK the same N again. | |
@@ -933,7 +935,7 @@ Reliable.prototype._handleMessage = function(msg) { | |
// Chunks BL into smaller messages. | |
Reliable.prototype._chunk = function(bl) { | |
var chunks = []; | |
- var size = bl.size; | |
+ var size = bl.length; | |
var start = 0; | |
while (start < size) { | |
var end = Math.min(size, start + this._mtu); | |
@@ -1000,7 +1002,8 @@ Reliable.prototype._complete = function(id) { | |
util.log('Completed called for', id); | |
var self = this; | |
var chunks = this._incoming[id].chunks; | |
- var bl = new Blob(chunks); | |
+// var bl = new Blob(chunks); | |
+ var bl = chunks.join('') | |
util.blobToArrayBuffer(bl, function(ab) { | |
self.onmessage(util.unpack(ab)); | |
}); | |
@@ -1282,25 +1285,28 @@ var util = { | |
// Binary stuff | |
blobToArrayBuffer: function(blob, cb){ | |
+ cb(blob) | |
+/* | |
var fr = new FileReader(); | |
fr.onload = function(evt) { | |
cb(evt.target.result); | |
}; | |
fr.readAsArrayBuffer(blob); | |
+*/ | |
}, | |
blobToBinaryString: function(blob, cb){ | |
- var fr = new FileReader(); | |
- fr.onload = function(evt) { | |
- cb(evt.target.result); | |
- }; | |
- fr.readAsBinaryString(blob); | |
+ cb(blob); | |
}, | |
binaryStringToArrayBuffer: function(binary) { | |
+ return binary | |
+/* return JSON.parse(binary) */ | |
+/* | |
var byteArray = new Uint8Array(binary.length); | |
for (var i = 0; i < binary.length; i++) { | |
byteArray[i] = binary.charCodeAt(i) & 0xff; | |
} | |
return byteArray.buffer; | |
+*/ | |
}, | |
randomToken: function () { | |
return Math.random().toString(36).substr(2); | |
-- | |
1.8.2 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment