Ticket #1442
enhancement
closed
fixed
Endpoints, a flexible high level connection API.
| Reported by: |
dreid |
Owned by: |
|
|
Priority:
|
high
|
Milestone:
|
|
|
Component:
|
core
|
Keywords:
|
|
|
Cc:
|
glyph, dreid, rwall, radix, jknight, exarkun
|
Branch:
|
branches/endpoints-1442-5
|
|
Author:
|
dreid, glyph
|
Launchpad Bug:
|
|
A high-level connection API which eliminates the need for semantically confusing and unecessary ClientFactory. Also provides the advantage of "remembering" connection information for creating more connections to the same endpoint. The interfaces provided a symetrical between Client and Server, providing a single method that takes a callable which is called for protocol creation.
See also twisted/words/protocols/jabber/jstrports.py for an example use case.
Attachments
-
endpoints.diff
(5.1 KB) - added by rwall
7 years ago.
-
Dreid's branch as a diff against current trunk
-
connect-generic.py
(1.1 KB) - added by rwall
7 years ago.
-
A simple example of endpoints usage.
-
endpoints2.diff
(13.6 KB) - added by rwall
7 years ago.
-
Dreid's branch, with regular factories, SSL support, and some tests.
-
endpoints3.diff
(14.6 KB) - added by rwall
7 years ago.
-
This time with connect and listen united, a simpler wrapping protocol, and documented IAddress.buildEndpoint
-
endpoints-1442-methodwrapper.diff
(3.0 KB) - added by rwall
7 years ago.
-
I noticed that at the moment, the logs are prefixed with _WrapperFactory, _WrapperProtocol. This is an experiment to wrap just the connectionMade method rather than entire protocol. With this, the logs are prefixed correctly once the connection is made. Not sure if it's a good idea though.
-
endpoints-1442-addresstests.diff
(4.4 KB) - added by rwall
7 years ago.
-
Some tests and fixes for the address module.
-
endpoints4.diff
(25.7 KB) - added by rwall
7 years ago.
-
A diff against endpoints-1442 addressing most of radix's review points.
Change History