Hello all, I've got an FTPClient implementation very similar to the one at [1], and I've added the ability to retrieve a file from the server with the following snippet:
class FileReceiver(Protocol): """ Protocol subclass that writes received data to a local file. """ def __init__(self, filename): self.file = open(filename, 'wb') def dataReceived(self, data): self.file.write(data) receiver = FileReceiver(local_path) d = ftpClient.retrieveFile(remote_path,receiver) I want to be able to abort the transfers if they've not completed after a specific period of time. When the timeout is triggered, I call ftpClient.transport.loseConnection() which seems to stop the dL on line 109 of [1] from firing, but the data transfer continues until completion. This is true for both storing and retrieving files. In the storing case, I thought that twisted.protocols.basic.FileSender's stopProducing method might help, but all it seems to do is trigger the errback for anyone waiting for a response - the actual data transfer continues. How do I abort the transfer and clear the wire when the timeout fires? Many thanks, Matt. [1] http://twistedmatrix.com/pipermail/twisted-python/attachments/20031204/d43a4251/attachment.txt _______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python