Пример #1
0
    def _handle_peers_message(self, node, message):
        received = time.time()
        message = read_peers(node.server.btctxstore, message)
        if message is None:
            return  # dont care about this message
        with self.pipeline_mutex:
            data = self.pipeline_scanning.get(message.sender)
            if data is None:
                return  # not being scanned
            _log.info("Received peers from {0}!".format(
                node_id_to_address(message.sender))
            )
            data["latency"]["peers"] = received - data["latency"]["peers"]
            data["peers"] = storjnode.util.chunks(message.body, 20)

            # add previously unknown peers
            for peer in data["peers"]:
                scanning = peer in self.pipeline_scanning
                scanned = peer in self.pipeline_scanned
                processed = peer in self.pipeline_processed
                testing_bandwith = (self.pipeline_bandwith_test is not None and
                                    peer == self.pipeline_bandwith_test[0])
                if not (scanning or scanned or processed or testing_bandwith):
                    self.pipeline_scanning[peer] = copy.deepcopy(DEFAULT_DATA)

            self._check_scan_complete(message.sender, data)
Пример #2
0
 def _handle_peers_message(self, node, source_id, message):
     received = time.time()
     message = read_peers(node.server.btctxstore, message)
     if message is None:
         return  # dont care about this message
     with self.mutex:
         data = self.scanning.get(message.sender)
         if data is None:
             return  # not being scanned
         _log.info("Received peers from {0}!".format(
             node_id_to_address(message.sender))
         )
         data["latency"]["peers"] = received - data["latency"]["peers"]
         data["peers"] = storjnode.util.chunks(message.body, 20)
         for peer in data["peers"]:
             if (peer not in self.scanned and peer not in self.scanning):
                 self.scanning[peer] = copy.deepcopy(DEFAULT_DATA)
         self._check_scan_complete(message.sender, data)