def SendNewIdentity(): global _NewIdentity if _NewIdentity is None: return fail(Exception(None)) # d = Deferred() # d.errback(Exception('')) # return DeferredList([d], fireOnOneErrback=True) dhnio.Dprint(4, 'identity_registrator.SendNewIdentity ') sendfile, sendfilename = tmpfile.make("propagate") os.close(sendfile) src = _NewIdentity.serialize() dhnio.WriteFile(sendfilename, src) dlist = [] for idurl in _NewIdentity.sources: # sources for out identity are servers we need to send to protocol, host, port, filename = nameurl.UrlParse(idurl) port = settings.IdentityServerPort() d = Deferred() transport_tcp.sendsingle(sendfilename, host, port, do_status_report=False, result_defer=d, description='Identity') dlist.append(d) dl = DeferredList(dlist) return dl
def SendServers(): sendfile, sendfilename = tmpfile.make("propagate") os.close(sendfile) LocalIdentity = misc.getLocalIdentity() dhnio.WriteFile(sendfilename, LocalIdentity.serialize()) dlist = [] for idurl in LocalIdentity.sources: # sources for out identity are servers we need to send to protocol, host, port, filename = nameurl.UrlParse(idurl) port = settings.IdentityServerPort() d = Deferred() transport_tcp.sendsingle(sendfilename, host, port, do_status_report=False, result_defer=d, description='Identity') dlist.append(d) dl = DeferredList(dlist, consumeErrors=True) return dl