class Multitorrent(object): def __init__(self, config, doneflag, errorfunc, logcollector, listen_fail_ok=False): self.config = dict(config) self.errorfunc = errorfunc self.logcollector=logcollector self.rawserver = RawServer(doneflag, config, errorfunc=errorfunc, tos=config['peer_socket_tos']) self.singleport_listener = SingleportListener(self.rawserver, self.logcollector) self._find_port(listen_fail_ok) self.filepool = FilePool(config['max_files_open']) self.ratelimiter = RateLimiter(self.rawserver.add_task) self.ratelimiter.set_parameters(config['max_upload_rate'], config['upload_unit_size']) set_filesystem_encoding(config['filesystem_encoding'], errorfunc) def _find_port(self, listen_fail_ok=True): e = 'maxport less than minport - no ports to check' if self.config['minport'] <= 0: self.config['minport'] = 1 for port in xrange(self.config['minport'], self.config['maxport'] + 1): try: self.singleport_listener.open_port(port, self.config) break except socketerror, e: pass else:
class Multitorrent(object): def __init__(self, config, doneflag, errorfunc, listen_fail_ok=False): self.config = dict(config) self.errorfunc = errorfunc self.rawserver = RawServer(doneflag, config, errorfunc=errorfunc, tos=config['peer_socket_tos']) self.singleport_listener = SingleportListener(self.rawserver) self._find_port(listen_fail_ok) self.filepool = FilePool(config['max_files_open']) self.ratelimiter = RateLimiter(self.rawserver.add_task) self.ratelimiter.set_parameters(config['max_upload_rate'], config['upload_unit_size']) set_filesystem_encoding(config['filesystem_encoding'], errorfunc) def _find_port(self, listen_fail_ok=True): e = 'maxport less than minport - no ports to check' if self.config['minport'] <= 0: self.config['minport'] = 1 for port in xrange(self.config['minport'], self.config['maxport'] + 1): try: self.singleport_listener.open_port(port, self.config) break except socketerror, e: pass else:
class Multitorrent(object): def __init__(self, config, doneflag, errorfunc, listen_fail_ok=False): self.dht = None self.config = config self.errorfunc = errorfunc self.rawserver = RawServer(doneflag, config, errorfunc=errorfunc, tos=config['peer_socket_tos']) set_zurllib_rawserver(self.rawserver) add_unsafe_thread() self.nattraverser = NatTraverser(self.rawserver, logfunc=errorfunc) self.singleport_listener = SingleportListener(self.rawserver, self.nattraverser) self.ratelimiter = RateLimiter(self.rawserver.add_task) self.ratelimiter.set_parameters(config['max_upload_rate'], config['upload_unit_size']) self._find_port(listen_fail_ok) self.filepool = FilePool(config['max_files_open']) set_filesystem_encoding(config['filesystem_encoding'], errorfunc) def _find_port(self, listen_fail_ok=True): e = _("maxport less than minport - no ports to check") if self.config['minport'] < 1024: self.config['minport'] = 1024 for port in xrange(self.config['minport'], self.config['maxport'] + 1): try: self.singleport_listener.open_port(port, self.config) if self.config['start_trackerless_client']: self.dht = UTKhashmir(self.config['bind'], self.singleport_listener.get_port(), self.config['data_dir'], self.rawserver, int(self.config['max_upload_rate'] * 1024 * 0.01), rlcount=self.ratelimiter.increase_offset, config=self.config) break except socketerror, e: pass else: