The pull protocol is one half of a pipeline pattern. The other half is the push protocol.
In the pipeline pattern, pushers distribute messages to pullers. Each message sent by a pusher will be sent to one of its peer pullers, chosen in a round-robin fashion from the set of connected peers available for receiving. This property makes this pattern useful in load-balancing scenarios.
nng_pull0_open() functions create a puller socket.
This socket may be used to receive messages, but is unable to send them.
Attempts to send messages will result in
When receiving messages, the pull protocol accepts messages as they arrive from peers. If two peers both have a message ready, the order in which messages are handled is undefined.
Only version 0 of this protocol is supported. (At the time of writing, no other versions of this protocol have been defined.)
The pull protocol has no protocol-specific options.
The pull protocol has no protocol-specific headers.