PR Feedback for #120

This commit is contained in:
Feross Aboukhadijeh 2016-03-11 17:21:19 -08:00
parent bea1021ec6
commit e3c65bc2a3
5 changed files with 6 additions and 12 deletions

View File

@ -24,11 +24,6 @@ exports.EVENT_NAMES = {
started: 'start',
stopped: 'stop'
}
exports.PEER_TYPES = {
http: 'http',
udp: 'udp',
websocket: 'ws'
}
function toUInt32 (n) {
var buf = new Buffer(4)

View File

@ -6,10 +6,10 @@ function parseHttpRequest (req, opts) {
if (!opts) opts = {}
var s = req.url.split('?')
var params = common.querystringParse(s[1])
params.type = 'http'
if (opts.action === 'announce' || s[0] === '/announce') {
params.action = common.ACTIONS.ANNOUNCE
params.type = common.PEER_TYPES.http
if (typeof params.info_hash !== 'string' || params.info_hash.length !== 20) {
throw new Error('invalid info_hash')

View File

@ -11,7 +11,7 @@ function parseUdpRequest (msg, rinfo) {
connectionId: msg.slice(0, 8), // 64-bit
action: msg.readUInt32BE(8),
transactionId: msg.readUInt32BE(12),
type: common.PEER_TYPES.udp
type: 'udp'
}
if (!bufferEqual(params.connectionId, common.CONNECTION_ID)) {

View File

@ -7,7 +7,7 @@ function parseWebSocketRequest (socket, opts, params) {
params = JSON.parse(params) // may throw
params.action = common.ACTIONS.ANNOUNCE
params.type = common.PEER_TYPES.websocket
params.type = 'ws'
params.socket = socket
if (typeof params.info_hash !== 'string' || params.info_hash.length !== 20) {

View File

@ -2,7 +2,6 @@ module.exports = Swarm
var debug = require('debug')('bittorrent-tracker')
var randomIterate = require('random-iterate')
var common = require('../common')
// Regard this as the default implementation of an interface that you
// need to support when overriding Server.createSwarm() and Server.getSwarm()
@ -14,7 +13,7 @@ function Swarm (infoHash, server) {
Swarm.prototype.announce = function (params, cb) {
var self = this
var id = params.type === common.PEER_TYPES.websocket ? params.peer_id : params.addr
var id = params.type === 'ws' ? params.peer_id : params.addr
var peer = self.peers[id]
if (params.event === 'started') {
@ -51,7 +50,7 @@ Swarm.prototype._onAnnounceStarted = function (params, peer) {
if (params.left === 0) this.complete += 1
else this.incomplete += 1
var id = params.type === common.PEER_TYPES.websocket ? params.peer_id : params.addr
var id = params.type === 'ws' ? params.peer_id : params.addr
peer = this.peers[id] = {
complete: params.left === 0,
peerId: params.peer_id, // as hex
@ -69,7 +68,7 @@ Swarm.prototype._onAnnounceStopped = function (params, peer) {
if (peer.complete) this.complete -= 1
else this.incomplete -= 1
var id = params.type === common.PEER_TYPES.websocket ? params.peer_id : params.addr
var id = params.type === 'ws' ? params.peer_id : params.addr
delete this.peers[id]
}