
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