zeromq/czmq — pull request #346 by hintjens (2013-12-23 11:00:03+00:00)
Title: Simplified zproxy

- classic complexity-oriented design! API was trying to provide a socket
abstraction, except it wasn't an abstraction. The use of methods like
"set frontend identity" that literally set the frontend identity,
except via a long and complex wrapper, are a red flag. The abstraction
should simplify, not complicate. The old API was clearly going to lead
to endless growth (set frontend HWM, set frontend read timeout...).

- version detection was complex. I added detection for zmq_proxy_steerable
via configure.ac.

- removed support for pre-V4 versions of libzmq, since the old zmq_proxy
function needs no async wrapping. If zmq_proxy_steerable isn't present
the constructor returns NULL.

- capture is moved out of the constructor since it's a minority use case.