[Twisted-Python] raw socket IWriteDescriptor

David Stainton dstainton415 at gmail.com
Tue Oct 1 07:06:40 MDT 2013


Oh I was having trouble because my fileno() method was not returning the
correct descriptor. But I fixed it...

Thanks for the excellent suggestion for improving performance!
I've implemented that change. It works great!



On Tue, Oct 1, 2013 at 5:38 AM, <exarkun at twistedmatrix.com> wrote:

> On 07:30 am, dstainton415 at gmail.com wrote:
>
>> Hi,
>>
>> I'm trying to implement an IWriteDescriptor using raw sockets.
>> So far this is what I wrote... but it doesn't work:
>> https://github.com/david415/**hushTCP/blob/master/hush_**writer.py<https://github.com/david415/hushTCP/blob/master/hush_writer.py>
>>
>> Am I doing something obviously wrong here?
>>
>> I certainly am able to use raw socket + scapy correctly without Twisted.
>>
>
> Please describe the problem in more detail than "it doesn't work". >:)
> Your hush_writer.py is a good <http://sscce.org/> but it's still
> important to know how its behavior differs from your expectations.
>
> As far as I can tell it does work - although there's one mistake that
> makes it a bit more inefficient than strictly necessary:
>
>     def doWrite(self):
>         if len(self.packets) > 0:
>             self.socket.sendto(self.**packets.pop(0), self.address)
>         else:
>             return
>
> When you're out of packets you should remove the writer from the reactor.
>  This version of the code will perpetually dispatch writeable notification
> (in the form of a doWrite call) to your object as fast as possible.
>
> Once you fix this, don't forget to re-add the writer as soon as
> len(self.packets) rises above 0 again.
>
> Jean-Paul
>
>
> ______________________________**_________________
> 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/20131001/8d34e670/attachment-0002.html>


More information about the Twisted-Python mailing list