= nng_dialer_start(3) :doctype: manpage :manmanual: nng :mansource: nng :manvolnum: 3 :copyright: Copyright 2018 mailto:info@staysail.tech[Staysail Systems, Inc.] + \ Copyright 2018 mailto:info@capitar.com[Capitar IT Group BV] + \ {blank} + \ This document is supplied under the terms of the \ https://opensource.org/licenses/MIT[MIT License]. == NAME nng_dialer_start - start dialer == SYNOPSIS [source, c] ----------- #include 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 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. == SEE ALSO <>, <> <>, <> == COPYRIGHT {copyright}