From f5d62f2b434300070048d4f07630afde4a1d760d Mon Sep 17 00:00:00 2001
From: Garrett D'Amore <garrett@damore.org>
Date: Fri, 16 Feb 2018 20:03:11 -0800
Subject: Add dialer documentation.

---
 docs/nng_dialer_start.adoc | 78 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 78 insertions(+)
 create mode 100644 docs/nng_dialer_start.adoc

(limited to 'docs/nng_dialer_start.adoc')

diff --git a/docs/nng_dialer_start.adoc b/docs/nng_dialer_start.adoc
new file mode 100644
index 00000000..b6c6306d
--- /dev/null
+++ b/docs/nng_dialer_start.adoc
@@ -0,0 +1,78 @@
+= 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 <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
+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
+
+<<nng_dial#,nng_dial(3)>>,
+<<nng_dialer_create#,nng_dialer_create(3)>>
+<<nng_strerror#,nng_strerror(3)>>,
+<<nng#,nng(7)>>
+
+== COPYRIGHT
+
+{copyright}
\ No newline at end of file
-- 
cgit v1.2.3-70-g09d2

