[Twisted-Python] ftpclient connection lost callback

Peter Ryan peter at peterryan.net
Thu Sep 5 12:48:54 MDT 2013


Thanks.

So is the idiomatic approach for this with something like the FTPClient to
subclass it and override connectionLost? FTPClientBasic clears up queued
commands when this happens (which I assume I still want it to do).

To me it seems a little overbearing to have to subclass the ftpclient just
to get a tcp connection lost event (which seem like an event most users
would be interested in).






On Thu, Sep 5, 2013 at 1:35 PM, <exarkun at twistedmatrix.com> wrote:

> On 05:49 pm, peter at peterryan.net wrote:
>
>> I am writing a simple ftp client which I am trying to dispose of. Right
>> now
>> I send a quit command:
>>
>> (the ftp_client reference is a FTPClient built with a ClientCreator)
>>
>> deferred = ftp_client.quit()
>>
>> And I register a callback:
>>
>> def quitSent(response):
>>   print "quit acknowledged...connected?", ftp_client.transport.connected
>>
>> deferred.addCallback(quitSent)
>>
>> If I invoke the above the connection is printed as connected.
>>
>
> There is no documented `connected` attribute of transports.  So who knows
> what this is telling you. :)
>
> However, the way you learn when a protocol's transport has disconnected is
> to implement the `connectionLost` method on the protocol.  It is called
> when the transport disconnects.
>
> Jean-Paul
>
>  However if I schedule a callback to check the status later:
>>
>> def status():
>>   print "quit acknowledged...connected?", ftp_client.transport.connected
>>
>> reactor.callLater(1, self.status)
>>
>> If I schedule a callback for a second later the transport is not
>> connected.
>> I've searched quite a bit but I cannot determine a way to register a
>> callback for when the TCP transport is actually disconnected. Can anyone
>> offer some insight? I'd like to know explicitly when the client is closed.
>>
>> Thanks,
>>
>> Peter
>>
>
> ______________________________**_________________
> Twisted-Python mailing list
> Twisted-Python at twistedmatrix.**com <Twisted-Python at twistedmatrix.com>
> http://twistedmatrix.com/cgi-**bin/mailman/listinfo/twisted-**python<http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/twisted-python/attachments/20130905/31503574/attachment-0002.html>


More information about the Twisted-Python mailing list