Multiplexing support for peers (disabled by default)

This commit is contained in:
shortcutme 2017-10-03 15:55:07 +02:00
parent 42ea01dde9
commit 6238bb7f2d
No known key found for this signature in database
GPG key ID: 5B63BAE6CB9613AE

View file

@ -140,9 +140,13 @@ class WorkerManager(object):
return config.workers return config.workers
# Add new worker # Add new worker
def addWorker(self, peer): def addWorker(self, peer, multiplexing=False):
key = peer.key key = peer.key
if key not in self.workers and len(self.workers) < self.getMaxWorkers(): if len(self.workers) > self.getMaxWorkers():
return False
if multiplexing: # Add even if we already have worker for this peer
key = "%s/%s" % (key, len(self.workers))
if key not in self.workers:
# We dont have worker for that peer and workers num less than max # We dont have worker for that peer and workers num less than max
worker = Worker(self, peer) worker = Worker(self, peer)
self.workers[key] = worker self.workers[key] = worker