﻿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@…
