nanomsg next generation NNG  
Home GitHub Documentation

This documentation is for version 0.2.0 of nng, but the latest released version is v1.7.3. see the documentation for v1.7.3 for the most up-to-date information.
nng_dialer_start(3)

SYNOPSIS

#include <nng/nng.h>

int nng_dialer_start(nng_dialer d, int flags);

DESCRIPTION

The nng_dialer_start() function starts the dialer d.

This causes the dialer to start connecting to the address with which it was created.

When a connection is established, it results in a pipe being created, which will be attached to the dialer’s socket.

Normally, the first attempt to connect to the dialer’s address is done synchronously, including any necessary name resolution. As a result, a failure, such as if the connection is refused, will be returned immediately, and no further action will be taken.

However, if the special value NNG_FLAG_NONBLOCK is supplied in flags, then the connection attempt is made asynchronously.

Furthermore, if the connection was closed for a synchronously dialed connection, the dialer will still attempt to redial asynchronously.

While NNG_FLAG_NONBLOCK can help an application be more resilient, it also generally makes diagnosing failures somewhat more difficult.

Once a dialer has started, it is generally not possible to change it’s configuration.

RETURN VALUES

This function returns 0 on success, and non-zero otherwise.

ERRORS

NNG_EADDRINVAL

An invalid url was specified.

NNG_ECLOSED

The socket s is not open.

NNG_ECONNREFUSED

The remote peer refused the connection.

NNG_ECONNRESET

The remote peer reset the connection.

NNG_EINVAL

An invalid set of flags was specified.

NNG_ENOMEM

Insufficient memory is available.

NNG_EPEERAUTH

Authentication or authorization failure.

NNG_EPROTO

A protocol error occurred.

NNG_ESTATE

The dialer d is already started.

NNG_EUNREACHABLE

The remote address is not reachable.

NNG Reference Manual v0.2.0 © 2019 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.