Bring txZMQ into API-symmetry with Twisted Endpoints

Registered by Duncan McGreggor

txZMQ is a special case in the Twisted world, since it uses file descriptors from ØMQ sockets. As such, in the initial development of the txZMQ API there wasn't a strong impetus to provide a Twisted-like API for working with deferreds and ØMQ results in callbacks.

With the hard work done (i.e., the creation of txZMQ), and usage starting to increase, now is a good time to start adding some API symmetry with Twisted. In particular, the new (as of Twisted 10) endpoint API will be used as a source of inspiration.

For more information on Twisted endpoints, see the following (the last two have
actual usage exaples):
 * http://twistedmatrix.com/documents/current/core/howto/endpoints.html
 * http://twistedmatrix.com/documents/current/core/howto/servers.html
 * http://twistedmatrix.com/documents/current/core/howto/clients.html

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
Duncan McGreggor
Direction:
Needs approval
Assignee:
Duncan McGreggor
Definition:
Drafting
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

Work Items:
[oubiwann] bring txZQM into PEP 8 and Twisted coding standards: DONE
[oubiwann] add "connect" and "listen" methods to the ZmqConnection class: SUBMITTED
[oubiwann] add a faux "protocol" class that does the writing to the socket (this may also include a faux "transport" class): TODO
[oubiwann] rename txZMQ "Endpoint" class to "Address": TODO
[oubiwann] rename "ZmqConnection" class to "ZmqEndpoint": TODO
[oubiwann] split out ZmqEndpoint into a server and a client class: TODO
[oubiwann] add at least one example that displays the symmetry of the new API with the Twisted endpoints API: SUBMITTED
[oubiwann] add more examples that display the symmetry of the new API with the Twisted endpoints API: TODO

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.