This documentation is for version v1.3.0 of NNG, but the latest released version is v1.8.0. see the documentation for v1.8.0 for the most up-to-date information.

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 its 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.