def create_peer(self, uri, pub): if pub: self.log("Creating peer " + uri + " " + pub[0:16] + "...", '*') pub = pub.decode('hex') else: self.log("Creating peer [seed] " + uri, '*') # Create the peer self._peers[uri] = CryptoPeerConnection(uri, self, pub) # Call 'peer' callbacks on listeners self.trigger_callbacks('peer', self._peers[uri]) # Now send a hello message to the peer if pub: self.log("Sending encrypted profile to %s" % uri) self._peers[uri].send(hello(self.get_profile())) else: # Will send clear profile on initial if no pub self.log("Sending unencrypted profile to %s" % uri) profile = hello(self.get_profile()) self._peers[uri].send_raw(json.dumps(profile))
def create_peer(self, uri, pub): if pub: self.log("init peer " + uri + " " + pub[0:8], '*') pub = pub.decode('hex') else: self.log("init peer [seed] " + uri, '*') # create the peer self._peers[uri] = CryptoPeerConnection(uri, self, pub) # call 'peer' callbacks on listeners self.trigger_callbacks('peer', self._peers[uri]) # now send a hello message to the peer if pub: self.log("sending encrypted profile to %s" % uri) self._peers[uri].send(hello(self.get_profile())) else: # this is needed for the first connection self.log("sending normal profile to %s" % uri) profile = hello(self.get_profile()) self._peers[uri].send_raw(json.dumps(profile))
def init_peer(self, msg): uri = msg['uri'] pub = msg.get('pub') if uri == self._uri: return if not uri in self._peers: self.create_peer(uri, pub) elif pub: # and not self._peers[uri]._pub: if self._peers[uri]._pub: self.log("updating peer pubkey " + uri) else: self.log("setting pub for seed node " + uri) if not self._peers[uri]._pub or not pub == self._peers[uri]._pub.encode('hex'): self._peers[uri]._pub = pub.decode('hex') self._peers[uri].send(hello(self.get_profile()))
def init_peer(self, msg): uri = msg['uri'] pub = msg.get('pub') if uri == self._uri: return if not self.valid_peer_uri(uri): self.log("Error. Invalid Peer: %s " % uri) return if not uri in self._peers: self.create_peer(uri, pub) elif pub: # and not self._peers[uri]._pub: if self._peers[uri]._pub: self.log("updating peer pubkey " + uri) else: self.log("setting pub for seed node " + uri) if not self._peers[uri]._pub or not pub == self._peers[uri]._pub.encode('hex'): self._peers[uri]._pub = pub.decode('hex') self._peers[uri].send(hello(self.get_profile()))