nanomsg next generation NNG  
Home GitHub Documentation

NOTE: This documentation is for version 0.2.0 of nng, but the latest released version is 1.1.0. Please see the documentation for 1.1.0 for the most up-to-date information.


#include <nng/protocol/pipeline0/pull.h>

int nng_pull0_open(nng_socket *s);


The nng_pull protocol is one half of a pipeline pattern. The other half is the nng_push(7) 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.

Socket Operations

The nng_pull0_open() call creates a puller socket. This socket may be used to receive messages, but is unable to send them. Attempts to send messages will result in NNG_ENOTSUP.

When receiving messages, the nng_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.

Protocol Versions

Only version 0 of this protocol is supported. (At the time of writing, no other versions of this protocol have been defined.)

Protocol Options

The nng_pull protocol has no protocol-specific options.

Protocol Headers

The nng_pull protocol has no protocol-specific headers.


NNG Reference Manual v0.2.0 © 2018 Staysail Systems, Inc, © 2018 Capitar IT Group BV
This document is supplied under the MIT License.
nanomsg™ and nng™ are trademarks of Garrett D'Amore.