Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/webtorrent/webtorrent.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/file-stream.js2
-rw-r--r--lib/fs-storage.js6
-rw-r--r--lib/server.js5
-rw-r--r--lib/storage.js28
-rw-r--r--lib/torrent.js22
5 files changed, 39 insertions, 24 deletions
diff --git a/lib/file-stream.js b/lib/file-stream.js
index 2abfd61..a2b80a0 100644
--- a/lib/file-stream.js
+++ b/lib/file-stream.js
@@ -67,7 +67,7 @@ FileStream.prototype.notify = function () {
var p = self._piece
debug('before read %s', p)
self._storage.read(self._piece++, function (err, buffer) {
- debug('after read %s (buffer.length %s) (err %s)', p, buffer.length, (err && err.message) || err)
+ debug('after read %s (length %s) (err %s)', p, buffer.length, err && err.message)
self._notifying = false
if (self._destroyed) return
diff --git a/lib/fs-storage.js b/lib/fs-storage.js
index cd32d4e..504f142 100644
--- a/lib/fs-storage.js
+++ b/lib/fs-storage.js
@@ -136,7 +136,11 @@ FSStorage.prototype.readBlock = function (index, offset, length, cb) {
}
target.openRead(function (err, file) {
- if (err) return (err === self.nonExistentError ? readFromNextFile(null, new Buffer(0)) : cb(err))
+ if (err) {
+ return err === self.nonExistentError
+ ? readFromNextFile(null, new Buffer(0))
+ : cb(err)
+ }
file.read(offset, to - from, readFromNextFile)
})
}
diff --git a/lib/server.js b/lib/server.js
index 1e659b1..4a8f9b4 100644
--- a/lib/server.js
+++ b/lib/server.js
@@ -59,7 +59,10 @@ module.exports = function Server (torrent, opts) {
// Support DLNA streaming
res.setHeader('transferMode.dlna.org', 'Streaming')
- res.setHeader('contentFeatures.dlna.org', 'DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=017000 00000000000000000000000000')
+ res.setHeader(
+ 'contentFeatures.dlna.org',
+ 'DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=017000 00000000000000000000000000'
+ )
var range
if (req.headers.range) {
diff --git a/lib/storage.js b/lib/storage.js
index 570ae08..e6f1417 100644
--- a/lib/storage.js
+++ b/lib/storage.js
@@ -27,7 +27,7 @@ inherits(Piece, EventEmitter)
*
* @param {number} index piece index
* @param {string} hash sha1 hash (hex) for this piece
- * @param {Buffer|number} buffer backing buffer for this piece or length of piece if the backing buffer is lazy
+ * @param {Buffer|number} buffer backing buffer, or piece length if backing buffer is lazy
* @param {boolean=} noVerify skip piece verification (used when seeding a new file)
*/
function Piece (index, hash, buffer, noVerify) {
@@ -138,9 +138,7 @@ Piece.prototype.verify = function (buffer) {
return
}
- var expectedHash
- sha1(buffer, function (_expectedHash) {
- expectedHash = _expectedHash
+ sha1(buffer, function (expectedHash) {
self.verified = (expectedHash === self.hash)
onResult()
})
@@ -149,7 +147,7 @@ Piece.prototype.verify = function (buffer) {
if (self.verified) {
self.emit('done')
} else {
- self.emit('warning', new Error('piece ' + self.index + ' failed verification; ' + expectedHash + ' expected ' + self.hash))
+ self.emit('warning', new Error('piece ' + self.index + ' failed verification'))
self._reset()
}
}
@@ -160,7 +158,10 @@ Piece.prototype._verifyOffset = function (offset) {
if (offset % BLOCK_LENGTH === 0) {
return true
} else {
- self.emit('warning', new Error('piece ' + self.index + ' invalid offset ' + offset + ' not multiple of ' + BLOCK_LENGTH + ' bytes'))
+ self.emit(
+ 'warning',
+ new Error('invalid block offset ' + offset + ', not multiple of ' + BLOCK_LENGTH)
+ )
return false
}
}
@@ -170,13 +171,12 @@ Piece.prototype._verifyBlock = function (offset, buffer) {
if (buffer.length === BLOCK_LENGTH) {
// normal block length
return true
-
- } else if (buffer.length === self.length - offset
- && self.length - offset < BLOCK_LENGTH) {
+ } else if (buffer.length === self.length - offset &&
+ self.length - offset < BLOCK_LENGTH) {
// last block in piece is allowed to be less than block length
return true
} else {
- self.emit('warning', new Error('piece ' + self.index + ' invalid block of size ' + buffer.length + ' bytes'))
+ self.emit('warning', new Error('invalid block size ' + buffer.length))
return false
}
}
@@ -230,7 +230,9 @@ function File (storage, file, pieces, pieceLength) {
File.prototype.select = function () {
var self = this
if (self.pieces.length > 0) {
- self.storage.emit('select', self.pieces[0].index, self.pieces[self.pieces.length - 1].index, false)
+ var start = self.pieces[0].index
+ var end = self.pieces[self.pieces.length - 1].index
+ self.storage.emit('select', start, end, false)
}
}
@@ -241,7 +243,9 @@ File.prototype.select = function () {
File.prototype.deselect = function () {
var self = this
if (self.pieces.length > 0) {
- self.storage.emit('deselect', self.pieces[0].index, self.pieces[self.pieces.length - 1].index, false)
+ var start = self.pieces[0].index
+ var end = self.pieces[self.pieces.length - 1].index
+ self.storage.emit('deselect', start, end, false)
}
}
diff --git a/lib/torrent.js b/lib/torrent.js
index 9127eba..f3ec093 100644
--- a/lib/torrent.js
+++ b/lib/torrent.js
@@ -75,7 +75,6 @@ function Torrent (torrentId, opts) {
var parsedTorrent = (torrentId && torrentId.parsedTorrent) || parseTorrent(torrentId)
if (parsedTorrent && parsedTorrent.infoHash) {
onTorrentId(parsedTorrent)
-
} else if (typeof get === 'function' && /^https?:/.test(torrentId)) {
// http or https url to torrent file
get.concat({
@@ -86,14 +85,12 @@ function Torrent (torrentId, opts) {
return self.emit('error', new Error('error downloading torrent: ' + err.message))
onTorrentId(data)
})
-
} else if (typeof fs.readFile === 'function') {
// assume it's a filesystem path
fs.readFile(torrentId, function (err, torrent) {
if (err) return self.emit('error', new Error('invalid torrent id'))
onTorrentId(torrent)
})
-
} else throw new Error('invalid torrent id')
function onTorrentId (torrentId) {
@@ -277,7 +274,7 @@ Torrent.prototype._onMetadata = function (metadata) {
numPieces += 1
self.emit('verifying', {
percentDone: 100 * numPieces / self.storage.pieces.length,
- percentVerified: 100 * numVerified / self.storage.pieces.length,
+ percentVerified: 100 * numVerified / self.storage.pieces.length
})
if (!err && buffer) {
@@ -432,7 +429,7 @@ Torrent.prototype._onWire = function (wire) {
// use ut_pex extension
if (typeof ut_pex === 'function') wire.use(ut_pex())
- //wire.ut_pex.start() // TODO two-way communication
+ // wire.ut_pex.start() // TODO two-way communication
if (wire.ut_pex) wire.ut_pex.on('peer', function (peer) {
debug('got peer via ut_pex ' + peer)
self.addPeer(peer)
@@ -481,7 +478,8 @@ Torrent.prototype._onWireWithMetadata = function (wire) {
function onChokeTimeout () {
if (self._destroyed || wire._destroyed) return
- if (self.swarm.numQueued > 2 * (self.swarm.numConns - self.swarm.numPeers) && wire.amInterested) {
+ if (self.swarm.numQueued > 2 * (self.swarm.numConns - self.swarm.numPeers) &&
+ wire.amInterested) {
wire.destroy()
} else {
timeoutId = setTimeout(onChokeTimeout, timeoutMs)
@@ -963,12 +961,18 @@ Torrent.prototype._request = function (wire, index, hotswap) {
if (r[i] === wire) r[i] = null
if (err) {
- debug('error getting piece ' + index + '(offset: ' + block.offset + ' length: ' + block.length + ') from ' + wire.remoteAddress + ' ' + err.message)
+ debug(
+ 'error getting piece %s (offset: %s length: %s) from %s: %s',
+ index, block.offset, block.length, wire.remoteAddress, err.message
+ )
self.storage.cancelBlock(index, block.offset)
process.nextTick(self._update.bind(self))
return false
} else {
- // debug('got piece ' + index + '(offset: ' + block.offset + ' length: ' + block.length + ') from ' + wire.remoteAddress)
+ debug(
+ 'got piece %s (offset: %s length: %s) from %s',
+ index, block.offset, block.length, wire.remoteAddress
+ )
self.storage.writeBlock(index, block.offset, buffer, function (err) {
if (err) {
debug('error writing block')
@@ -993,7 +997,7 @@ Torrent.prototype.createServer = function (opts) {
}
function getPipelineLength (wire, duration) {
- return Math.ceil(2 + duration * wire.downloadSpeed() / Storage.BLOCK_LENGTH);
+ return Math.ceil(2 + duration * wire.downloadSpeed() / Storage.BLOCK_LENGTH)
}
/**