Exemple #1
0
 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 = []
Exemple #2
0
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
Exemple #3
0
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
Exemple #4
0
 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))
Exemple #5
0
 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)
Exemple #6
0
 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 = []
Exemple #7
0
 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)