(self, peer, multiplexing=False, force=False)
| 150 | |
| 151 | # Add new worker |
| 152 | def addWorker(self, peer, multiplexing=False, force=False): |
| 153 | key = peer.key |
| 154 | if len(self.workers) > self.getMaxWorkers() and not force: |
| 155 | return False |
| 156 | if multiplexing: # Add even if we already have worker for this peer |
| 157 | key = "%s/%s" % (key, len(self.workers)) |
| 158 | if key not in self.workers: |
| 159 | # We dont have worker for that peer and workers num less than max |
| 160 | task = self.getTask(peer) |
| 161 | if task: |
| 162 | worker = Worker(self, peer) |
| 163 | self.workers[key] = worker |
| 164 | worker.key = key |
| 165 | worker.start() |
| 166 | return worker |
| 167 | else: |
| 168 | return False |
| 169 | else: # We have worker for this peer or its over the limit |
| 170 | return False |
| 171 | |
| 172 | def taskAddPeer(self, task, peer): |
| 173 | if task["peers"] is None: |
no test coverage detected