[Twisted-Python] How to use the TimeoutProtocol policy?
L. Daniel Burr
ldanielburr at me.com
Thu Jun 14 08:24:44 MDT 2018
Hi Martin,
On June 14, 2018 at 8:29:45 AM, Martin van Es (mrvanes at gmail.com) wrote:
Hi,
I'm trying to timeout a really simple LineReceiver protocol.
It's function is to connect to a daemon, receive a line that's to be
displayed to an end-user upon which the user should undertake some
action. The action will trigger a second line (fail/success) at which
point the daemon will close the connection. If, however, the end-user
does not follow-up on the first challenge I want the script to timeout
with a failed result.
Now, I have the LineReceiver do exactly what I want, but I can't for
the life of me understand how I should "wrap" it in the TimoutProtocol
so that it disconnects after a couple of seconds?
This is my Factory:
class WebSSOFactory(ClientFactory):
pamh = None
client = None
I think one problem here is that your WebSSOFactory is not a TimeoutFactory (https://twistedmatrix.com/documents/current/api/twisted.protocols.policies.TimeoutFactory.html).
You have to pass a TimeoutFactory to the TimeoutProtocol in order for it to work with the LineReceiver you are wrapping, otherwise the timeout value will not be set; a regular Factory’s buildProtocol method would not know that it needs to pass the timeout to the TimeoutProtocol.
Hope this helps,
Daniel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/twisted-python/attachments/20180614/d05320af/attachment-0002.html>
More information about the Twisted-Python
mailing list