Beispiel #1
0
 def update_peer_addresses(self, peer_addresses) -> None:
     # FIXME: Probably will be refactored
     self._peer_addresses = peer_addresses
     known_peers = qrl_pb2.StoredPeers()
     known_peers.peers.extend([qrl_pb2.Peer(ip=p) for p in set(self._peer_addresses)])
     with open(self.peers_path, "wb") as outfile:
         outfile.write(known_peers.SerializeToString())
Beispiel #2
0
    def GetKnownPeers(self, request: qrl_pb2.GetKnownPeersReq,
                      context) -> qrl_pb2.GetKnownPeersResp:
        response = qrl_pb2.GetKnownPeersResp()
        response.node_info.CopyFrom(self.qrlnode.getNodeInfo())
        response.known_peers.extend(
            [qrl_pb2.Peer(ip=p) for p in self.qrlnode._peer_addresses])

        return response
Beispiel #3
0
    def GetKnownPeers(self, request: qrl_pb2.GetKnownPeersReq,
                      context) -> qrl_pb2.GetKnownPeersResp:
        logger.debug("[QRLNode] GetPeers")

        known_peers = qrl_pb2.KnownPeers()
        known_peers.peers.extend(
            [qrl_pb2.Peer(ip=p) for p in self.node.peer_addresses])

        return qrl_pb2.GetKnownPeersResp(known_peers=known_peers)
Beispiel #4
0
 def GetKnownPeers(self, request: qrl_pb2.GetKnownPeersReq, context) \
         -> qrl_pb2.GetKnownPeersResp:
     try:
         known_peers = qrl_pb2.KnownPeers()
         known_peers.peers.extend(
             [qrl_pb2.Peer(ip=p) for p in self.qrlnode.peer_addresses])
         return qrl_pb2.GetKnownPeersResp(known_peers=known_peers)
     except Exception as e:
         context.set_code(StatusCode.unknown)
         context.set_details(str(e))
         return None
Beispiel #5
0
    def update_peer_addresses(self, peer_addresses: set) -> None:
        new_addresses = self._peer_addresses - set(peer_addresses)

        if self._p2pfactory is not None:
            for peer_address in new_addresses:
                self._p2pfactory.connect_peer(peer_address)

        self._peer_addresses |= set(peer_addresses)

        known_peers = qrl_pb2.StoredPeers()
        known_peers.peers.extend([qrl_pb2.Peer(ip=p) for p in self._peer_addresses])
        with open(self.peers_path, "wb") as outfile:
            outfile.write(known_peers.SerializeToString())