Skip to content

Commit c92b171

Browse files
committed
Remove all Function.bind calls
For webtorrent/webtorrent-desktop#256
1 parent 96a8fab commit c92b171

File tree

4 files changed

+44
-15
lines changed

4 files changed

+44
-15
lines changed

lib/client/http-tracker.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,9 @@ HTTPTracker.prototype.announce = function (opts) {
4949
})
5050
if (self._trackerId) params.trackerid = self._trackerId
5151

52-
self._request(self.announceUrl, params, self._onAnnounceResponse.bind(self))
52+
self._request(self.announceUrl, params, function (data) {
53+
self._onAnnounceResponse(data)
54+
})
5355
}
5456

5557
HTTPTracker.prototype.scrape = function (opts) {
@@ -69,7 +71,9 @@ HTTPTracker.prototype.scrape = function (opts) {
6971
var params = {
7072
info_hash: infoHashes
7173
}
72-
self._request(self.scrapeUrl, params, self._onScrapeResponse.bind(self))
74+
self._request(self.scrapeUrl, params, function (data) {
75+
self._onScrapeResponse(data)
76+
})
7377
}
7478

7579
HTTPTracker.prototype.destroy = function (cb) {

lib/client/tracker.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,9 @@ Tracker.prototype.setInterval = function (intervalMs) {
2222
clearInterval(self.interval)
2323

2424
if (intervalMs) {
25-
var update = self.announce.bind(self, self.client._defaultAnnounceOpts())
26-
self.interval = setInterval(update, intervalMs)
25+
self.interval = setInterval(function () {
26+
self.announce(self.client._defaultAnnounceOpts())
27+
}, intervalMs)
2728
if (self.interval.unref) self.interval.unref()
2829
}
2930
}

lib/client/websocket-tracker.js

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,10 @@ WebSocketTracker.prototype.announce = function (opts) {
4343
var self = this
4444
if (self.destroyed || self.reconnecting) return
4545
if (!self.socket.connected) {
46-
return self.socket.once('connect', self.announce.bind(self, opts))
46+
self.socket.once('connect', function () {
47+
self.announce(opts)
48+
})
49+
return
4750
}
4851

4952
var params = extend(opts, {
@@ -72,7 +75,10 @@ WebSocketTracker.prototype.scrape = function (opts) {
7275
var self = this
7376
if (self.destroyed || self.reconnecting) return
7477
if (!self.socket.connected) {
75-
return self.socket.once('connect', self.scrape.bind(self, opts))
78+
self.socket.once('connect', function () {
79+
self.scrape(opts)
80+
})
81+
return
7682
}
7783

7884
var infoHashes = (Array.isArray(opts.infoHash) && opts.infoHash.length > 0)
@@ -142,10 +148,18 @@ WebSocketTracker.prototype._openSocket = function () {
142148

143149
if (!self.peers) self.peers = {}
144150

145-
self._onSocketConnectBound = self._onSocketConnect.bind(self)
146-
self._onSocketErrorBound = self._onSocketError.bind(self)
147-
self._onSocketDataBound = self._onSocketData.bind(self)
148-
self._onSocketCloseBound = self._onSocketClose.bind(self)
151+
self._onSocketConnectBound = function () {
152+
self._onSocketConnect()
153+
}
154+
self._onSocketErrorBound = function (err) {
155+
self._onSocketError(err)
156+
}
157+
self._onSocketDataBound = function (data) {
158+
self._onSocketData(data)
159+
}
160+
self._onSocketCloseBound = function () {
161+
self._onSocketClose()
162+
}
149163

150164
self.socket = socketPool[self.announceUrl]
151165
if (self.socket) {

server.js

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,9 @@ function Server (opts) {
113113
})
114114
}
115115
self.ws = new WebSocketServer({ server: self.http })
116-
self.ws.address = self.http.address.bind(self.http)
116+
self.ws.address = function () {
117+
return self.http.address()
118+
}
117119
self.ws.on('error', function (err) { self._onError(err) })
118120
self.ws.on('connection', function (socket) { self.onWebSocketConnection(socket) })
119121
}
@@ -301,15 +303,23 @@ Server.prototype.onWebSocketConnection = function (socket, opts) {
301303

302304
socket.peerId = null // as hex
303305
socket.infoHashes = [] // swarms that this socket is participating in
304-
socket.onSend = self._onWebSocketSend.bind(self, socket)
306+
socket.onSend = function (err) {
307+
self._onWebSocketSend(socket, err)
308+
}
305309

306-
socket.onMessageBound = self._onWebSocketRequest.bind(self, socket, opts)
310+
socket.onMessageBound = function (params) {
311+
self._onWebSocketRequest(socket, opts, params)
312+
}
307313
socket.on('message', socket.onMessageBound)
308314

309-
socket.onErrorBound = self._onWebSocketError.bind(self, socket)
315+
socket.onErrorBound = function (err) {
316+
self._onWebSocketError(socket, err)
317+
}
310318
socket.on('error', socket.onErrorBound)
311319

312-
socket.onCloseBound = self._onWebSocketClose.bind(self, socket)
320+
socket.onCloseBound = function () {
321+
self._onWebSocketClose(socket)
322+
}
313323
socket.on('close', socket.onCloseBound)
314324
}
315325

0 commit comments

Comments
 (0)