NNG_DIALER_START(3)

NAME
nng_dialer_start - start dialer

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.

    Tip

    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.

SEE ALSO

nng_dial(3), nng_dialer_create(3) nng_strerror(3), nng_dialer(5), nng(7)