def cancel_outbox_file(self, host, filename): """ """ from transport.udp import udp_session ok = False for sess in udp_session.sessions().values(): if sess.peer_id != host: continue i = 0 while i < len(sess.file_queue.outboxQueue): fn, descr, result_defer, keep_alive = sess.file_queue.outboxQueue[ i] if fn == filename: if _Debug: lg.out( 14, 'udp_interface.cancel_outbox_file removed %s in %s' % (os.path.basename(fn), sess)) sess.file_queue.outboxQueue.pop(i) ok = True else: i += 1 udp_session.remove_pending_outbox_file(host, filename) # for fn, descr, result_defer, single in sess.file_queue.outboxQueue: # if fn == filename and sess.peer_id == host: # lg.out(6, 'udp_interface.cancel_outbox_file host=%s want to close session' % host) # sess.automat('shutdown') # return True return ok
def cancel_outbox_file(self, host, filename): """ """ from transport.udp import udp_session ok = False for sess in udp_session.sessions().values(): if sess.peer_id != host: continue i = 0 while i < len(sess.file_queue.outboxQueue): fn, descr, result_defer, single = sess.file_queue.outboxQueue[ i] if fn == filename: if _Debug: lg.out( 14, 'udp_interface.cancel_outbox_file removed %s in %s' % (os.path.basename(fn), sess)) sess.file_queue.outboxQueue.pop(i) ok = True else: i += 1 udp_session.remove_pending_outbox_file(host, filename) # for fn, descr, result_defer, single in sess.file_queue.outboxQueue: # if fn == filename and sess.peer_id == host: # lg.out(6, 'udp_interface.cancel_outbox_file host=%s want to close session' % host) # sess.automat('shutdown') # return True return ok
def cancel_file_sending(self, transferID): """ """ from transport.udp import udp_session for sess in udp_session.sessions().values(): for out_file in sess.file_queue.outboxFiles.values(): if out_file.transfer_id and out_file.transfer_id == transferID: out_file.cancel() return True return False
def doDisconnect(self, arg): """ Action method. """ from transport.udp import udp_stream lg.out( 12, 'udp_node.doDisconnect going to close %d sessions and %d connectors' % (len(udp_session.sessions().values()), len(udp_connector.connectors().values()))) udp_stream.stop_process_streams() udp_session.stop_process_sessions() for s in udp_session.sessions().values(): if _Debug: lg.out(_DebugLevel, 'udp_node.doShutdown sends "shutdown" to %s' % s) s.automat('shutdown') for c in udp_connector.connectors().values(): c.automat('abort') self.automat('disconnected')
def doDisconnect(self, arg): """ Action method. """ from transport.udp import udp_stream lg.out( 12, 'udp_node.doDisconnect going to close %d sessions and %d connectors' % (len( udp_session.sessions().values()), len( udp_connector.connectors().values()))) udp_stream.stop_process_streams() udp_session.stop_process_sessions() for s in udp_session.sessions().values(): if _Debug: lg.out( _DebugLevel, 'udp_node.doShutdown sends "shutdown" to %s' % s) s.automat('shutdown') for c in udp_connector.connectors().values(): c.automat('abort') self.automat('disconnected')
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)
def list_sessions(self): """ """ from transport.udp import udp_session return list(udp_session.sessions().values())
def list_sessions(self): """ """ from transport.udp import udp_session return udp_session.sessions().values()