def incomingMessage((sid, data)): _log.debug("Verifying session...") server = randomServer() p = yield sessionclient.connect(server.endpoint()) sessionOk = yield p.verifySession(sid) p.disconnect() if not sessionOk: _log.warn("Incoming message with untrusted session: {}".format(sid)) else: _log.info("Session {} was verified".format(sid)) print str(data)
def sendMessage(server, target, data): if server is None: peer = randomServer() else: peer = findPeer(server, True) if not peer: raise RuntimeError("No server '{}' found".format(server)) target_peer = findPeer(target, False, defaultPort=9000) if not target_peer: raise RuntimeError("No client '{}' found".format(target)) p = yield sessionclient.connect(peer.endpoint()) sid = yield p.requestSession(target_peer.key().host) if not sid: _log.info("Server {} was not able to get us a" " session".format(peer.key())) defer.returnValue(False) p.disconnect() pc = yield clientchat.connect(target_peer.endpoint()) pc.sendMessage(sid, data) pc.disconnect() defer.returnValue(True)