fix(announce): fixed up/down speed count issue

This commit is contained in:
OldHawk
2017-12-22 22:34:04 +08:00
parent 2650da6cf7
commit aae5efdd28

View File

@@ -39,15 +39,14 @@ const FAILURE_REASONS = {
151: 'Invalid peerid: peerid is not 20 bytes long',
152: 'Invalid numwant. Client requested more peers than allowed by tracker',
153: 'Passkey length error (length=32)',
154: 'Invalid passkey, if you changed you passkey, please redownload the torrent file from ' + config.meanTorrentConfig.announce.baseUrl,
154: 'Invalid passkey, if you changed you passkey, please redownload the torrent file from ' + announceConfig.baseUrl,
160: 'Invalid torrent info_hash',
161: 'No torrent with that info_hash has been found',
162: 'ip length error',
170: 'your account status is banned',
171: 'your account status is inactive',
172: 'your client is not allowed, here is the blacklist: ' + config.meanTorrentConfig.announce.clientBlackListUrl,
172: 'your client is not allowed, here is the blacklist: ' + announceConfig.baseUrl + announceConfig.clientBlackListUrl,
173: 'this torrent status is not reviewed by administrators, try again later',
174: 'this torrent is only for VIP members',
175: 'your account status is idle',
@@ -80,8 +79,7 @@ const PEERSTATE_SEEDER = 'seeder';
const PEERSTATE_LEECHER = 'leecher';
const PEER_COMPACT_SIZE = 6;
const ANNOUNCE_INTERVAL = Math.floor(config.meanTorrentConfig.announce.announceInterval / 1000);
const ANNOUNCE_GHOST = 2;
const ANNOUNCE_INTERVAL = Math.floor(announceConfig.announceInterval / 1000);
const PARAMS_INTEGER = [
'port', 'uploaded', 'downloaded', 'left', 'compact', 'numwant'
@@ -475,16 +473,6 @@ exports.announce = function (req, res) {
if (!req.currentPeer.isNewCreated) {
var udr = getUDRatio();
/*when leeching
some client not announced the download bytes in request params, but has left bytes, like Auze 5.7.6
so get the download value by query.left - req.currentPeer.peer_downloaded
*/
if (query.downloaded === 0) {
if (event(query.event) !== EVENT_STARTED) {
query.downloaded = req.currentPeer.peer_left - query.left + req.currentPeer.peer_downloaded;
}
}
var curru = query.uploaded - req.currentPeer.peer_uploaded;
var currd = query.downloaded - req.currentPeer.peer_downloaded;
@@ -516,8 +504,8 @@ exports.announce = function (req, res) {
//write peer speed
req.currentPeer.update({
$set: {
peer_uspeed: curru / config.meanTorrentConfig.announce.announceInterval * 1000,
peer_dspeed: currd / config.meanTorrentConfig.announce.announceInterval * 1000
peer_uspeed: Math.round(curru / (Date.now() - req.last_announce_at) * 1000),
peer_dspeed: Math.round(currd / (Date.now() - req.last_announce_at) * 1000)
}
}).exec();