The module doesn't work with ipv6. I didn't try workers, but with clients, there are (at least) two issues.
Firstly, server endpoint parsing code uses hostport_tuple.split(':'), which is bad for ipv6 (since ipv6 addresses contain a lot of ':').
Secondly, what's worse, it uses an explicit AF_INET for connect(), which restricts it to IPv4 addresses. Is there a reason for that?
The following patch fixes the second issue and allows the client code to work at least when the server address is specified as a name or as a tuple of (ipv6_addr, port):
The module doesn't work with ipv6. I didn't try workers, but with clients, there are (at least) two issues. Firstly, server endpoint parsing code uses
hostport_tuple.split(':')
, which is bad for ipv6 (since ipv6 addresses contain a lot of ':'). Secondly, what's worse, it uses an explicit AF_INET forconnect()
, which restricts it to IPv4 addresses. Is there a reason for that?The following patch fixes the second issue and allows the client code to work at least when the server address is specified as a name or as a tuple of
(ipv6_addr, port)
: