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