[zeromq-dev] Feature requests/thoughts for TCP transport

Pieter Hintjens ph at imatix.com
Mon Apr 2 23:46:49 CEST 2012

Hi Sergey,

Our contribution policy is here:
http://www.zeromq.org/docs:contributing. More broadly we're aiming at

You'll have more success presenting changes as answers to specific
problems, rather than "features".

And yes, we accept pull requests (whereas we don't record feature requests).


> 1.        zmq->socket(*)->setsockopt(ZMQ_TCP_KEEPALIVE) on both (server and
> client) ends for fault tolerant connections:

Difficult to do, would probably affect the protocol. But people would
definitely like it.

> 2.        zmq->socket(*)->setsockopt(ZMQ_TCP_MAX_PEERS, int) before
> 3.        zmq->socket(*)->setsockopt(ZMQ_TCP_MAX_PEERS_BY_IP, int) before
> 4.        multiple zmq->socket(*)->setsockopt(ZMQ_TCP_ACCEPT_FROM, cidr)

All highly valuable.

> 5.        zmq->socket(*)->setsockopt(ZMQ_TCP_AUTH_TOKEN, string) on server
> and client sides for peer authentication…. This is though… it breaks
> protocol compatibility…

Difficult to do, and breaks the protocol. You would need to find ways
of adding versioning to the protocol first.

> 6.        zmq->socket(*)->disconnect(tcp://connstring) as  the opposite to
> zmq->socket(*)->connect(tcp://connstring)

Valuable, relatively easy to do.


More information about the zeromq-dev mailing list