def doStart(self, *args, **kwargs): """ Action method. """ options = {'idurl': my_id.getLocalID(), } id_contact = '' default_host = '' if self.proto == 'tcp': if not id_contact: default_host = strng.to_bin(misc.readExternalIP()) + b':' + strng.to_bin(str(settings.getTCPPort())) options['host'] = id_contact or default_host options['tcp_port'] = settings.getTCPPort() elif self.proto == 'udp': if not id_contact: default_host = strng.to_bin(nameurl.GetName(my_id.getLocalID())) + b'@' + strng.to_bin(platform.node()) options['host'] = id_contact or default_host options['dht_port'] = settings.getDHTPort() options['udp_port'] = settings.getUDPPort() elif self.proto == 'proxy': pass elif self.proto == 'http': if not id_contact: default_host = strng.to_bin(misc.readExternalIP()) + b':' + strng.to_bin(str(settings.getHTTPPort())) options['host'] = id_contact or default_host options['http_port'] = settings.getHTTPPort() if _Debug: lg.out(8, 'network_transport.doStart connecting %s transport : %s' % (self.proto.upper(), options)) self.interface.connect(options)
def parseCommandLine(): oparser = optparse.OptionParser() oparser.add_option("-d", "--debug", dest="debug", type="int", help="set debug level") oparser.set_default('debug', 10) oparser.add_option("-t", "--tcpport", dest="tcpport", type="int", help="specify port for TCP transport") oparser.set_default('tcpport', settings.getTCPPort()) oparser.add_option("-u", "--udpport", dest="udpport", type="int", help="specify port for UDP transport") oparser.set_default('udpport', settings.getUDPPort()) oparser.add_option("-p", "--dhtport", dest="dhtport", type="int", help="specify UDP port for DHT network") oparser.set_default('dhtport', settings.getDHTPort()) oparser.add_option("-s", "--packetsize", dest="packetsize", type="int", help="set size of UDP datagrams") oparser.set_default('packetsize', 480) (options, args) = oparser.parse_args() return options, args
def start(self): from twisted.internet.defer import Deferred, succeed from logs import lg from dht import dht_records from dht import dht_service from dht import known_nodes from main import settings from main.config import conf conf().addConfigNotifier('services/entangled-dht/udp-port', self._on_udp_port_modified) known_seeds = known_nodes.nodes() dht_layers = list(dht_records.LAYERS_REGISTRY.keys()) dht_service.init( udp_port=settings.getDHTPort(), dht_dir_path=settings.ServiceDir('service_entangled_dht'), open_layers=dht_layers, ) lg.info('DHT known seed nodes are : %r DHT layers are : %r' % (known_seeds, dht_layers, )) self.starting_deferred = Deferred() d = dht_service.connect( seed_nodes=known_seeds, layer_id=0, attach=True, ) d.addCallback(self._on_connected) d.addErrback(self._on_connect_failed) return self.starting_deferred or succeed(True)
def safe_stun(udp_port=None, dht_port=None, ): from twisted.internet.defer import Deferred result = Deferred() try: settings.init() dht_port = dht_port or settings.getDHTPort() udp_port = udp_port or settings.getUDPPort() dht_service.init(dht_port) dht_service.connect() udp.listen(udp_port) def _cb(cod, typ, ip, details): # A('shutdown') result.callback({ 'result': cod, # 'stun-success' or 'stun-failed' 'type': typ, 'ip': ip, 'details': details, }) A('init', (udp_port)) A('start', _cb) except Exception as exc: lg.exc() result.callback(dict(ip='127.0.0.1', errors=[str(exc), ])) return result return result
def doStart(self, arg): """ Action method. """ options = {'idurl': my_id.getLocalID(), } id_contact = '' default_host = '' ident = my_id.getLocalIdentity() if ident: id_contact = ident.getContactsByProto().get(self.proto, '') if id_contact: assert id_contact.startswith(self.proto + '://') id_contact = id_contact.strip(self.proto + '://') if self.proto == 'tcp': if not id_contact: default_host = misc.readExternalIP() + ':' + str(settings.getTCPPort()) options['host'] = id_contact or default_host options['tcp_port'] = settings.getTCPPort() elif self.proto == 'udp': if not id_contact: default_host = nameurl.GetName(my_id.getLocalID()) + '@' + platform.node() options['host'] = id_contact or default_host options['dht_port'] = settings.getDHTPort() options['udp_port'] = settings.getUDPPort() elif self.proto == 'proxy': pass if _Debug: lg.out(8, 'network_transport.doStart connecting %s transport : %s' % (self.proto.upper(), options)) self.interface.connect(options)
def main(): from twisted.internet import reactor lg.set_debug_level(24) settings.init() my_id.init() dht_service.init(settings.getDHTPort()) reactor.callWhenRunning(A, 'init', sys.argv[1]) reactor.run()
def main(): from twisted.internet import reactor # @UnresolvedImport lg.set_debug_level(24) settings.init() my_id.init() dht_service.init(settings.getDHTPort()) reactor.callWhenRunning(A, 'init', sys.argv[1]) # @UndefinedVariable reactor.run() # @UndefinedVariable
def start(self): from dht import dht_service from main import settings from main.config import conf dht_service.init(settings.getDHTPort(), settings.DHTDBFile()) dht_service.connect() conf().addCallback('services/entangled-dht/udp-port', self._on_udp_port_modified) return True
def start(self): from dht import dht_service from main import settings from main.config import conf dht_service.init(settings.getDHTPort(), settings.DHTDBFile()) d = dht_service.connect() conf().addCallback('services/entangled-dht/udp-port', self._on_udp_port_modified) return d
def main(): from twisted.internet import reactor lg.set_debug_level(24) bpio.init() settings.init() dht_service.init(settings.getDHTPort()) dht_service.connect() udp.listen(settings.getUDPPort()) A('start', settings.getUDPPort()) reactor.run()
def start(self): from dht import dht_service from dht import known_nodes from main import settings from main.config import conf conf().addCallback('services/entangled-dht/udp-port', self._on_udp_port_modified) dht_service.init(udp_port=settings.getDHTPort(), db_file_path=settings.DHTDBFile()) known_seeds = known_nodes.default_nodes() d = dht_service.connect(seed_nodes=known_seeds) d.addCallback(self._on_connected) d.addErrback(self._on_connect_failed) return d
def parseCommandLine(): oparser = optparse.OptionParser() oparser.add_option("-d", "--debug", dest="debug", type="int", help="set debug level") oparser.set_default("debug", 10) oparser.add_option("-t", "--tcpport", dest="tcpport", type="int", help="specify port for TCP transport") oparser.set_default("tcpport", settings.getTCPPort()) oparser.add_option("-u", "--udpport", dest="udpport", type="int", help="specify port for UDP transport") oparser.set_default("udpport", settings.getUDPPort()) oparser.add_option("-p", "--dhtport", dest="dhtport", type="int", help="specify UDP port for DHT network") oparser.set_default("dhtport", settings.getDHTPort()) oparser.add_option("-s", "--packetsize", dest="packetsize", type="int", help="set size of UDP datagrams") oparser.set_default("packetsize", 480) (options, args) = oparser.parse_args() return options, args
def main(): from twisted.internet import reactor lg.set_debug_level(24) bpio.init() settings.init() dht_service.init(settings.getDHTPort()) d = dht_service.connect() udp.listen(settings.getUDPPort()) def _go(live_nodes): A('start', settings.getUDPPort()) d.addCallback(_go) reactor.run()
def safe_stun(udp_port=None, dht_port=None, result_defer=None): from twisted.internet.defer import Deferred result = result_defer or Deferred() if driver.is_started('service_entangled_dht'): if dht_service.node()._joinDeferred and not dht_service.node()._joinDeferred.called: dht_service.node()._joinDeferred.addCallback(lambda ok: safe_stun(udp_port=udp_port, dht_port=dht_port, result_defer=result)) dht_service.node()._joinDeferred.addErrback(result.errback) return result if not driver.is_on('service_entangled_dht'): result.errback(Exception('service_entangled_dht() is not started')) return result try: settings.init() dht_port = dht_port or settings.getDHTPort() udp_port = udp_port or settings.getUDPPort() if dht_port: dht_service.init(dht_port) d = dht_service.connect() if udp_port: udp.listen(udp_port) def _cb(cod, typ, ip, details): # A('shutdown') result.callback({ 'result': cod, # 'stun-success' or 'stun-failed' 'type': typ, 'ip': ip, 'details': details, }) def _go(live_nodes): A('init', udp_port) A('start', _cb) d.addCallback(_go) d.addErrback(lambda err: result.callback(dict(ip='127.0.0.1', errors=[str(err), ]))) except Exception as exc: lg.exc() result.callback(dict(ip='127.0.0.1', errors=[str(exc), ])) return result return result
def main(): if len(sys.argv) < 3: print 'usage: nickname_observer.py <"many"|"one"> <nickname> <attempts>' return from twisted.internet import reactor lg.set_debug_level(24) settings.init() my_id.init() dht_service.init(settings.getDHTPort()) def _result(result, nickname): print result, nickname if result == 'finished': reactor.stop() if sys.argv[1] == 'many': observe_many(sys.argv[2], int(sys.argv[3]), results_callback=_result) else: find_one(sys.argv[2], int(sys.argv[3]), _result) reactor.run()
def doStart(self, arg): """ Action method. """ options = { 'idurl': my_id.getLocalID(), } id_contact = '' default_host = '' # ident = my_id.getLocalIdentity() # if ident: # id_contact = ident.getContactsByProto().get(self.proto, '') # if id_contact: # assert id_contact.startswith(self.proto + '://') # id_contact = id_contact.lstrip(self.proto + '://') if self.proto == 'tcp': if not id_contact: default_host = strng.to_bin( misc.readExternalIP()) + b':' + strng.to_bin( str(settings.getTCPPort())) options['host'] = id_contact or default_host options['tcp_port'] = settings.getTCPPort() elif self.proto == 'udp': if not id_contact: default_host = strng.to_bin(nameurl.GetName( my_id.getLocalID())) + b'@' + strng.to_bin(platform.node()) options['host'] = id_contact or default_host options['dht_port'] = settings.getDHTPort() options['udp_port'] = settings.getUDPPort() elif self.proto == 'proxy': pass elif self.proto == 'http': if not id_contact: default_host = strng.to_bin( misc.readExternalIP()) + b':' + strng.to_bin( str(settings.getHTTPPort())) options['host'] = id_contact or default_host options['http_port'] = settings.getHTTPPort() if _Debug: lg.out( 8, 'network_transport.doStart connecting %s transport : %s' % (self.proto.upper(), options)) self.interface.connect(options)
def start(self): from logs import lg from dht import dht_service from dht import known_nodes from main import settings from main.config import conf from userid import my_id conf().addCallback('services/entangled-dht/udp-port', self._on_udp_port_modified) dht_service.init(udp_port=settings.getDHTPort(), db_file_path=settings.DHTDBFile()) known_seeds = known_nodes.nodes() lg.info('known seed nodes are : %r' % known_seeds) d = dht_service.connect(seed_nodes=known_seeds) d.addCallback(self._on_connected) d.addErrback(self._on_connect_failed) if my_id.getLocalID(): dht_service.set_node_data('idurl', my_id.getLocalID()) return d
def main(): from twisted.internet import reactor # @UnresolvedImport lg.set_debug_level(24) bpio.init() settings.init() dht_port = settings.getDHTPort() if len(sys.argv) > 1: dht_port = int(sys.argv[1]) udp_port = settings.getUDPPort() if len(sys.argv) > 2: udp_port = int(sys.argv[2]) dht_service.init(dht_port) d = dht_service.connect() udp.listen(udp_port) def _go(live_nodes): A('start', udp_port) d.addCallback(_go) reactor.run() # @UndefinedVariable settings.shutdown()
def main(): from twisted.internet import reactor settings.init() lg.set_debug_level(30) dht_port = settings.getDHTPort() udp_port = settings.getUDPPort() if len(sys.argv) > 1: dht_port = int(sys.argv[1]) if len(sys.argv) > 2: udp_port = int(sys.argv[2]) dht_service.init(dht_port) dht_service.connect() udp.listen(udp_port) def _cb(result, typ, ip, details): print result, typ, ip, details A('shutdown') reactor.stop() A('init', (udp_port)) A('start', _cb) reactor.run()
def main(): from twisted.internet import reactor # @UnresolvedImport settings.init() lg.set_debug_level(30) dht_port = settings.getDHTPort() udp_port = settings.getUDPPort() if len(sys.argv) > 1: dht_port = int(sys.argv[1]) if len(sys.argv) > 2: udp_port = int(sys.argv[2]) dht_service.init(dht_port) dht_service.connect() udp.listen(udp_port) def _cb(result, typ, ip, details): print(result, typ, ip, details) A('shutdown') reactor.stop() # @UndefinedVariable A('init', (udp_port)) A('start', _cb) reactor.run() # @UndefinedVariable
def udp_dht_stun(udp_port=None, dht_port=None, result_defer=None): if not driver.is_on('service_my_ip_port'): if _Debug: lg.out( _DebugLevel, 'stun_client.udp_dht_stun SKIP because service_my_ip_port() is not started' ) if result_defer: result_defer.errback( Exception('service_my_ip_port() is not started')) return False from dht import dht_service if dht_service.node().connectingTask( ) and not dht_service.node().connectingTask().called: if _Debug: lg.out( _DebugLevel, 'stun_client.udp_dht_stun SKIP and run later because dht_service is still joining the network' ) dht_service.node().connectingTask( ).addCallback(lambda ok: udp_dht_stun( udp_port=udp_port, dht_port=dht_port, result_defer=result_defer)) if result_defer: dht_service.node().connectingTask().addErrback( result_defer.errback) return True dht_port = dht_port or settings.getDHTPort() udp_port = udp_port or settings.getUDPPort() if dht_port: dht_service.init(dht_port) d = dht_service.connect() if udp_port: udp.listen(udp_port) def _cb(cod, typ, ip, details): # A('shutdown') ret = { 'result': cod, # 'stun-success' or 'stun-failed' 'type': typ, 'ip': ip, 'details': details, } if _Debug: lg.out(_DebugLevel, 'stun_client.udp_dht_stun result : %r' % ret) result_defer.callback(ret) return None def _go(live_nodes): if _Debug: lg.out(_DebugLevel, 'stun_client.udp_dht_stun GO with nodes: %r' % live_nodes) A('init', udp_port) A('start', _cb) return live_nodes d.addCallback(_go) if result_defer: d.addErrback(result_defer.errback) # d.addErrback(lambda err: result_defer.callback(dict(ip='127.0.0.1', errors=[str(err), ]))) return True