[Twisted-Python] Flush socket

Tobias Oberstein tobias.oberstein at tavendo.de
Thu Aug 11 17:38:49 EDT 2011


so there is no Twisted sanctioned (reactor independent and reentry safe) alternative to disable nagle (tcp nodelay) and doing a select()?

ps: to give an example of how that was at least practically useful in what i try to do .. and not only blabbing away:

http://www.tavendo.de/autobahn/testsuite/report/

for these 2 cases, the only difference are the calls to reactor.select()

http://www.tavendo.de/autobahn/testsuite/report/firefox_7_0a_20110809_case_5_19.html

http://www.tavendo.de/autobahn/testsuite/report/firefox_7_0a_20110809_case_5_20.html

by which I found

https://bugzilla.mozilla.org/show_bug.cgi?id=675961


On 11.08.11 23:13, "Christopher Armstrong" <radix at twistedmatrix.com> wrote:


On Thu, Aug 11, 2011 at 5:06 PM, Tobias Oberstein <tobias.oberstein at tavendo.de> wrote:
For testing implementations of a TCP-based protocol, I am testing
if an implementation is agnostic wrt to in what chops in receives
octets from the wire ("stream clean").

To do that, I force out octets from the protocol test driver (written
in Twisted) in differently sized chops, down to single octets.


While this is a noble goal, your method isn't really right: in TCP, the chunks you write on one end do not correspond to the chunks you receive on the other end after they've gone through a TCP stack and network. The best way to verify that your client is stream clean is to write unit tests that explicitly call its dataReceived method with different-sized chunks.

--
Christopher Armstrong
http://radix.twistedmatrix.com/
http://planet-if.com/



-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://twistedmatrix.com/pipermail/twisted-python/attachments/20110811/83ead09d/attachment-0001.htm 


More information about the Twisted-Python mailing list