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.