On Thu, 30 Sep 2004 10:12:18 +0200, Stefan Behnel email@example.com wrote:
I'm curious: how much work would it be to enable IPv6 support in twisted.internet?
I get a number of references to IPv4 that make me believe that t.i.* is not quite IPv6 clean by itself:
What would be needed? Would a new reactor be a good solution? "reactor6" ? Or rather extending the current one?
I'd say a reactor6 would be cleaner, but on the other hand, a simple flag could do the trick from the API perspective.
Any comments on this?
That a new reactor would solve nothing since the reactor is not the responsible for connections. Connection.py and tcp.py are the modules you are looking for (those that create the connection).
Also there's a problem if you only write a new reactor, that IPv6 couldn't be used in other reactors, which is bad :).
I'd rather hack on tcp.py and Connection.py and address.py (all in twisted.internet).
Those sockets that you see in default.py are to wake up the main thread under windows IIRC.
Since Twisted is very layered what happens at a lower level is actually unknown to the upper layers. So yes, twisted is not yet ready for IPv6, but implementing it won't brake anything (unless you use IPv6 by default).
Maybe providing connectTCP6 could be a solution.