def clientConnectionFailed(self, connector, reason): from transport.tcp import tcp_interface protocol.ClientFactory.clientConnectionFailed(self, connector, reason) destaddress = (connector.getDestination().host, int(connector.getDestination().port)) connection = started_connections().pop(self.connection_address, None) if connection: connection.connector = None if _Debug: lg.out( _DebugLevel, 'tcp_node.clientConnectionFailed with %s, %d more connections started : %r' % ( str(destaddress), len(started_connections()), reason, )) for filename, description, result_defer, keep_alive in self.pendingoutboxfiles: try: tcp_interface.interface_cancelled_file_sending( destaddress, filename, 0, description, 'connection failed').addErrback(lambda err: lg.exc(err)) except Exception as exc: lg.warn(str(exc)) if result_defer: result_defer.callback( (filename, description, 'failed', 'connection failed')) self.pendingoutboxfiles = []
def cancel_outbox_file(host, filename): """ """ from transport.tcp import tcp_interface for connections in opened_connections().values(): for connection in connections: if connection.peer_address and connection.peer_address == host or \ connection.peer_external_address and connection.peer_external_address == host: i = 0 while i < len(connection.outboxQueue): fn, description, result_defer, single = connection.outboxQueue[i] if fn == filename: connection.outboxQueue.pop(i) connection.failed_outbox_queue_item(fn, description, 'cancelled') continue i += 1 for connection in started_connections().values(): if connection.connection_address and connection.connection_address == host: i = 0 while i < len(connection.pendingoutboxfiles): fn, description, result_defer, single = connection.pendingoutboxfiles[i] if fn == filename: connection.pendingoutboxfiles.pop(i) if not single: tcp_interface.interface_cancelled_file_sending( host, filename, 0, description, 'cancelled') if result_defer: result_defer.callback((filename, description, 'failed', 'cancelled')) continue i += 1
def cancel_outbox_file(host, filename): """ """ from transport.tcp import tcp_interface for connections in opened_connections().values(): for connection in connections: if connection.peer_address and connection.peer_address == host or \ connection.peer_external_address and connection.peer_external_address == host: i = 0 while i < len(connection.outboxQueue): fn, description, result_defer, keep_alive = connection.outboxQueue[i] if fn == filename: connection.outboxQueue.pop(i) connection.failed_outbox_queue_item(fn, description, 'cancelled') continue i += 1 for connection in started_connections().values(): if connection.connection_address and connection.connection_address == host: i = 0 while i < len(connection.pendingoutboxfiles): fn, description, result_defer, keep_alive = connection.pendingoutboxfiles[i] if fn == filename: connection.pendingoutboxfiles.pop(i) try: tcp_interface.interface_cancelled_file_sending( host, filename, 0, description, 'cancelled') except Exception as exc: lg.warn(str(exc)) if result_defer: result_defer.callback((filename, description, 'failed', 'cancelled')) continue i += 1
def failed_outbox_queue_item(self, filename, description='', error_message=''): from transport.tcp import tcp_interface if _Debug: lg.out(_DebugLevel, 'tcp_connection.failed_outbox_queue_item %s because %s' % (filename, error_message)) try: tcp_interface.interface_cancelled_file_sending( self.getAddress(), filename, 0, description, error_message).addErrback(lambda err: lg.exc(err)) except Exception as exc: lg.warn(str(exc))
def failed_outbox_queue_item(self, filename, description='', error_message=''): from transport.tcp import tcp_interface lg.out( 6, 'tcp_connection.failed_outbox_queue_item %s because %s' % (filename, error_message)) tcp_interface.interface_cancelled_file_sending(self.getAddress(), filename, 0, description, error_message)
def clientConnectionFailed(self, connector, reason): from transport.tcp import tcp_interface protocol.ClientFactory.clientConnectionFailed(self, connector, reason) destaddress = (connector.getDestination().host, int(connector.getDestination().port)) connection = started_connections().pop(self.connection_address, None) if connection: connection.connector = None for filename, description, result_defer, single in self.pendingoutboxfiles: if not single: tcp_interface.interface_cancelled_file_sending( destaddress, filename, 0, description, 'connection failed') if result_defer: result_defer.callback((filename, description, 'failed', 'connection failed')) self.pendingoutboxfiles = []
def clientConnectionFailed(self, connector, reason): from transport.tcp import tcp_interface protocol.ClientFactory.clientConnectionFailed(self, connector, reason) destaddress = (connector.getDestination().host, int(connector.getDestination().port)) connection = started_connections().pop(self.connection_address, None) if connection: connection.connector = None for filename, description, result_defer, single in self.pendingoutboxfiles: if not single: tcp_interface.interface_cancelled_file_sending( destaddress, filename, 0, description, 'connection failed') if result_defer: result_defer.callback( (filename, description, 'failed', 'connection failed')) self.pendingoutboxfiles = []
def failed_outbox_queue_item(self, filename, description="", error_message=""): from transport.tcp import tcp_interface lg.out(6, "tcp_connection.failed_outbox_queue_item %s because %s" % (filename, error_message)) tcp_interface.interface_cancelled_file_sending(self.getAddress(), filename, 0, description, error_message)