Multiplexing support for peers (disabled by default)
This commit is contained in:
parent
42ea01dde9
commit
6238bb7f2d
1 changed files with 6 additions and 2 deletions
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue