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, <exar...@twistedmatrix.com> wrote: > On 07:30 am, dstainton...@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@twistedmatrix.**com <Twisted-Python@twistedmatrix.com> > http://twistedmatrix.com/cgi-**bin/mailman/listinfo/twisted-**python<http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python> >
_______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python