summaryrefslogtreecommitdiff
path: root/docs/reference/src/sock
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2024-03-30 17:06:11 -0700
committerGarrett D'Amore <garrett@damore.org>2024-03-30 17:06:11 -0700
commit548ab684fa83f3098dea4e7ce09d3f4f1bdb7358 (patch)
tree81eed53d3d59de0a9f6de3dec29544bbe2b7657d /docs/reference/src/sock
parent83cec91494bba0fe3a0d7340117b3f2af4e40302 (diff)
downloadnng-548ab684fa83f3098dea4e7ce09d3f4f1bdb7358.tar.gz
nng-548ab684fa83f3098dea4e7ce09d3f4f1bdb7358.tar.bz2
nng-548ab684fa83f3098dea4e7ce09d3f4f1bdb7358.zip
sock reorg
Diffstat (limited to 'docs/reference/src/sock')
-rw-r--r--docs/reference/src/sock/index.md9
-rw-r--r--docs/reference/src/sock/nng_bus_open.md41
-rw-r--r--docs/reference/src/sock/nng_close.md43
-rw-r--r--docs/reference/src/sock/nng_pub_open.md41
4 files changed, 134 insertions, 0 deletions
diff --git a/docs/reference/src/sock/index.md b/docs/reference/src/sock/index.md
new file mode 100644
index 00000000..d90a4fb9
--- /dev/null
+++ b/docs/reference/src/sock/index.md
@@ -0,0 +1,9 @@
+# Sockets
+
+## See Also
+
+[nng_bus_open][nng_bus_open]
+[nng_close][nng_close]
+[nng_pub_open][nng_pub_open]
+
+{{#include ../refs.md}}
diff --git a/docs/reference/src/sock/nng_bus_open.md b/docs/reference/src/sock/nng_bus_open.md
new file mode 100644
index 00000000..8705ad6f
--- /dev/null
+++ b/docs/reference/src/sock/nng_bus_open.md
@@ -0,0 +1,41 @@
+# nng_bus_open
+
+## NAME
+
+nng_bus_open --- create _BUS_ socket
+
+## SYNOPSIS
+
+```c
+#include <nng/nng.h>
+#include <nng/protocol/bus0/bus.h>
+
+int nng_bus0_open(nng_socket *s);
+
+int nng_bus0_open_raw(nng_socket *s);
+```
+
+## DESCRIPTION
+
+The `nng_bus0_open()` function creates a [_BUS_][bus] version 0
+[socket][socket] and returns it at the location pointed to by _s_.
+
+The `nng_bus0_open_raw()` function creates a [_BUS_][bus] version 0
+[socket][socket] in
+[raw mode][raw], and returns it at the location pointed to by _s_.
+
+## RETURN VALUES
+
+These functions return 0 on success, and non-zero otherwise.
+
+## ERRORS
+
+- `NNG_ENOMEM`: Insufficient memory is available.
+- `NNG_ENOTSUP`: The protocol is not supported.
+
+## SEE ALSO
+
+[BUS protocol][bus],
+[RAW mode][raw]
+
+{{#include ../refs.md}}
diff --git a/docs/reference/src/sock/nng_close.md b/docs/reference/src/sock/nng_close.md
new file mode 100644
index 00000000..649316bd
--- /dev/null
+++ b/docs/reference/src/sock/nng_close.md
@@ -0,0 +1,43 @@
+# nng_close
+
+## NAME
+
+nng_close --- close socket
+
+## SYNOPSIS
+
+```c
+#include <nng/nng.h>
+
+int nng_close(nng_socket s);
+```
+
+## DESCRIPTION
+
+The `nng_close()` function closes the [socket][socket] _s_.
+Messages that have been submitted for sending may be flushed or delivered,
+depending upon the [transport][transport].
+
+Further attempts to use the socket after this call returns will result
+in `NNG_ECLOSED`.
+Threads waiting for operations on the socket when this
+call is executed may also return with an `NNG_ECLOSED` result.
+
+> [!NOTE]
+> Closing the socket while data is in transmission will likely lead to loss
+> of that data.
+> There is no automatic linger or flush to ensure that the socket send buffers
+> have completely transmitted.
+> It is recommended to wait a brief period after calling
+> [`nng_send()`][nng_send] or similar functions, before calling this
+> function.
+
+## RETURN VALUES
+
+This function returns 0 on success, and non-zero otherwise.
+
+## ERRORS
+
+- `NNG_ECLOSED`: The socket _s_ is already closed or was never opened.
+
+{{#include ../refs.md}}
diff --git a/docs/reference/src/sock/nng_pub_open.md b/docs/reference/src/sock/nng_pub_open.md
new file mode 100644
index 00000000..0100cfcb
--- /dev/null
+++ b/docs/reference/src/sock/nng_pub_open.md
@@ -0,0 +1,41 @@
+# nng_pub_open
+
+## NAME
+
+nng_pub_open --- create _PUB_ socket
+
+## SYNOPSIS
+
+```c
+#include <nng/nng.h>
+#include <nng/protocol/pubsub0/pub.h>
+
+int nng_pub0_open(nng_socket *s);
+
+int nng_pub0_open_raw(nng_socket *s);
+```
+
+## DESCRIPTION
+
+The `nng_pub0_open()` function creates a [_PUB_][pub] version 0
+[socket][socket] and returns it at the location pointed to by _s_.
+
+The `nng_pub0_open_raw()` function creates a [_PUB_][pub] version 0
+[socket][socket] in
+[raw mode][raw] and returns it at the location pointed to by _s_.
+
+## RETURN VALUES
+
+These functions return 0 on success, and non-zero otherwise.
+
+## ERRORS
+
+- `NNG_ENOMEM`: Insufficient memory is available.
+- `NNG_ENOTSUP`: The protocol is not supported.
+
+## SEE ALSO
+
+[PUB Protocol](../../protocols/pub.md),
+[SUB Protocol](../../protocols/sub.md)
+
+{{#include ../refs.md}}