id,summary,reporter,owner,description,type,status,priority,milestone,component,version,resolution,keywords,cc 203,change Tub.listenOn() to use Endpoints,Brian Warner,Brian Warner,"Starting in Twisted-10.1, ""Endpoints"" are the preferred way to set up servers and clients. They are intended to encapsulate a variety of ways of making streaming network connections (of which TCP is one possibility, but unix-sockets, SOCKS proxies, TOR .onion addresses, i2p connections, and cjdns connections are others). The ""type"" extension field in Foolscap's ""connection hints"" are intended to reflect this variety, starting with accomodating both ipv4 and ipv6, but meant to cover other things in the future too (like .i2p addresses which aren't associated with port numbers). ~~It would probably be a good idea to change Foolscap's internal socket-handling code to use Endpoints rather than `internet.TCPServer` and `reactor.connectTCP` directly. It might also be good to allow our connection hints to include any string that `endpoints.clientFromString` is capable of parsing.~~ The current plan is to make `Tub.listenOn()` accept a ""stream server endpoint description string"", which is then parsed by Twisted to build a ""stream server endpoint"". This will get us listen-on-IPv6 support for free. We no longer intend to allow FURLs to specify client endpoint strings directly: instead we added connection-hint handling plugins (in #236) to safely map externally-supplied connection hints to locally-generated client endpoints. This process started in #167 (where early Endpoints support broke foolscap and needed to be worked around), and continues in #155 (where Endpoints might make ipv6 support easier). ",task,closed,major,0.12.0,network,0.6.4,fixed,,reg.trac.foolscap.4v9Xu@…