currentratemeasure.py

来自「BitTorrentABC-Linux-V.2.4.3源码」· Python 代码 · 共 42 行

PY
42
字号
# Written by Bram Cohen# see LICENSE.txt for license informationfrom time import timetrue = 1false = 0class Measure:    def __init__(self, max_rate_period, fudge = 1):        self.max_rate_period = max_rate_period        self.ratesince = time() - fudge        self.last = self.ratesince        self.rate = 0.0        self.total = 0l    def update_rate(self, amount):        self.total += amount        t = time()        self.rate = (self.rate * (self.last - self.ratesince) +             amount) / (t - self.ratesince + 0.0001)        self.last = t        if self.ratesince < t - self.max_rate_period:            self.ratesince = t - self.max_rate_period    def get_rate(self):        self.update_rate(0)        return self.rate    def get_rate_noupdate(self):        return self.rate    def time_until_rate(self, newrate):        if self.rate <= newrate:            return 0        t = time() - self.ratesince        return ((self.rate * t) / newrate) - t    def get_total(self):        return self.total    def get_total_megs(self):        return self.total / 1048576.0

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?