PUSH sockets should exhibit consistent blocking behaviour

Description

In issue 130, the reporter has found that the documentation for how PUSH sockets behave when no downstream nodes are connected is inconsistent with the actual implementation.

What should be done is that the behaviour needs to be consistent (send blocks if no downstream peers connected) whether or not the endpoint has been created with zmq_bind() or zmq_connect().

This may also affect other socket types.

Martin Sustrik's suggestion is to create a pre-prepared pipe on bind so that flow control can be applied, and then assign this pipe to the first connected peer.

Environment

None

Status

Assignee

Unassigned

Reporter

Martin Lucina

Labels

None

Priority