[Twisted-Python] twisted.internet and IPv6
Stefan Behnel
behnel_ml at gkec.informatik.tu-darmstadt.de
Thu Sep 30 02:12:18 MDT 2004
Hi!
I'm curious: how much work would it be to enable IPv6 support in twisted.internet?
When I do
---------------------------------------
cd twisted/internet
fgrep INET *.py
---------------------------------------
I get a number of references to IPv4 that make me believe that t.i.* is not quite IPv6 clean by itself:
---------------------------------------
default.py: server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
default.py: client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
javareactor.py: return ('INET', InetAddress.getLocalHost().getHostAddress(), self.jport.port)
javareactor.py: return ('INET', addr.getHostAddress(), self.skt.getPort())
javareactor.py: return ("INET", self.host, self.port)
tcp.py: addressFamily = socket.AF_INET
tcp.py: return address.IPv4Address('TCP', *(self.socket.getsockname() + ('INET',)))
tcp.py: return address.IPv4Address('TCP', *(self.addr + ('INET',)))
tcp.py: return address.IPv4Address('TCP', *(self.socket.getsockname() + ('INET',)))
tcp.py: return address.IPv4Address('TCP', *(self.client + ('INET',)))
tcp.py: addressFamily = socket.AF_INET
tcp.py: return address.IPv4Address('TCP', *(self.socket.getsockname() + ('INET',)))
tcp.py: return address.IPv4Address('TCP', self.host, self.port, 'INET')
udp.py: addressFamily = socket.AF_INET
udp.py: return address.IPv4Address('UDP', *(self.socket.getsockname() + ('INET_UDP',)))
udp.py: Returns a tuple of ('INET_UDP', hostname, port), indicating
udp.py: return address.IPv4Address('UDP', self.remotehost, self.remoteport, 'INET_UDP')
---------------------------------------
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?
Stefan
More information about the Twisted-Python
mailing list