Пример #1
0
 def _try_connect():
     if udp_node.A().state == 'LISTEN':
         print('connect')
         gateway.stop_packets_timeout_loop()
         udp_session.add_pending_outbox_file(
             sys.argv[1] + '.signed', sys.argv[2], 'descr',
             Deferred(), False)
         udp_node.A('connect', sys.argv[2])
         reactor.callLater(5, _try_reconnect)
     else:
         reactor.callLater(1, _try_connect)
Пример #2
0
 def send_file(self, remote_idurl, filename, host, description=''):
     """
     """
     from transport.udp import udp_session
     from transport.udp import udp_node
     # lg.out(20, 'udp_interface.send_file %s %s %s' % (filename, host, description))
     result_defer = Deferred()
     #        if udp_node.A().state not in ['LISTEN', 'DHT_READ',]:
     #            result_defer.callback(False)
     #            lg.out(4, 'udp_interface.send_file WARNING udp_node state is %s' % udp_node.A().state)
     #            return result_defer
     active_sessions = udp_session.get_by_peer_id(host)
     if active_sessions:
         if description.startswith('Identity') or description.startswith(
                 'Ack'):
             active_sessions[0].file_queue.insert_outbox_file(
                 filename, description, result_defer, keep_alive=True)
         else:
             active_sessions[0].file_queue.append_outbox_file(
                 filename, description, result_defer, keep_alive=True)
     else:
         udp_session.add_pending_outbox_file(filename,
                                             host,
                                             description,
                                             result_defer,
                                             keep_alive=True)
         udp_node.A('connect', host)
     return result_defer
Пример #3
0
 def disconnect(self):
     """
     """
     from transport.udp import udp_node
     if _Debug:
         lg.out(4, 'udp_interface.disconnect')
     udp_node.A('go-offline')
     return succeed(True)
Пример #4
0
 def connect(self, options):
     """
     """
     from transport.udp import udp_node
     if _Debug:
         lg.out(8, 'udp_interface.connect %s' % str(options))
     udp_node.A('go-online', options)
     return True
Пример #5
0
 def connect_to_host(self, host=None, idurl=None):
     """
     """
     from transport.udp import udp_node
     if not host:
         host = idurl_to_id(idurl)
     if _Debug:
         lg.out(12, 'udp_interface.connect %s' % host)
     udp_node.A('connect', host)
Пример #6
0
 def _try_reconnect():
     sess = udp_session.get_by_peer_id(sys.argv[2])
     reconnect = False
     if not sess:
         reconnect = True
         print 'sessions', udp_session.sessions_by_peer_id().keys()
         print map(lambda s: s.peer_id,
                   udp_session.sessions().values())
     else:
         if sess.state != 'CONNECTED':
             print 'state: ', sess.state
             reconnect = True
     if reconnect:
         print 'reconnect', sess
         udp_session.add_pending_outbox_file(
             sys.argv[1] + '.signed', sys.argv[2], 'descr',
             Deferred(), False)
         udp_node.A('connect', sys.argv[2])
     reactor.callLater(0.5, _try_reconnect)