bittorrent-tracker/lib/client/tracker.js

30 lines
722 B
JavaScript
Raw Normal View History

2015-07-29 08:47:09 +00:00
module.exports = Tracker
var EventEmitter = require('events').EventEmitter
var inherits = require('inherits')
inherits(Tracker, EventEmitter)
function Tracker (client, announceUrl) {
var self = this
EventEmitter.call(self)
self.client = client
self.announceUrl = announceUrl
2015-07-29 08:47:09 +00:00
self.interval = null
self.destroyed = false
}
Tracker.prototype.setInterval = function (intervalMs) {
var self = this
if (intervalMs == null) intervalMs = self.DEFAULT_ANNOUNCE_INTERVAL
2015-07-29 08:47:09 +00:00
clearInterval(self.interval)
if (intervalMs) {
var update = self.announce.bind(self, self.client._defaultAnnounceOpts())
self.interval = setInterval(update, intervalMs)
2015-08-23 22:11:48 +00:00
if (self.interval.unref) self.interval.unref()
2015-07-29 08:47:09 +00:00
}
}