aboutsummaryrefslogtreecommitdiff
path: root/docs/libnng.adoc
diff options
context:
space:
mode:
Diffstat (limited to 'docs/libnng.adoc')
-rw-r--r--docs/libnng.adoc85
1 files changed, 46 insertions, 39 deletions
diff --git a/docs/libnng.adoc b/docs/libnng.adoc
index e5fd24ec..179b9a0e 100644
--- a/docs/libnng.adoc
+++ b/docs/libnng.adoc
@@ -1,9 +1,7 @@
-libnng(3)
-=========
+= libnng(3)
:doctype: manpage
:manmanual: nng
:mansource: nng
-:icons: font
:copyright: Copyright 2018 Staysail Systems, Inc. <info@staysail.tech> \
Copyright 2018 Capitar IT Group BV <info@capitar.com> \
This software is supplied under the terms of the MIT License, a \
@@ -11,28 +9,26 @@ libnng(3)
file was obtained (LICENSE.txt). A copy of the license may also \
be found online at https://opensource.org/licenses/MIT.
-NAME
-----
+== NAME
+
libnng - nanomsg next generation library
-SYNOPSIS
---------
+== SYNOPSIS
+
*cc* ['flags'] 'files' *-lnng* ['libraries']
-DESCRIPTION
------------
+== DESCRIPTION
The <<nng#,nng(7)>> library provides a common messaging framework
intended to solve common communication problems in distributed applications.
It provides a C language API.
-Common Functions
-~~~~~~~~~~~~~~~~
+=== Common Functions
+
The following common functions exist in _libnng_.
-[cols="1,4"]
|===
|<<nng_alloc#,nng_alloc(3)>>|allocate memory
|<<nng_dial#,nng_dial(3)>>|create and start a dialer
@@ -40,12 +36,10 @@ The following common functions exist in _libnng_.
|<<nng_strerror#,nng_strerror(3)>>|return an error description
|===
-Socket Functions
-~~~~~~~~~~~~~~~~
+=== Socket Functions
The following functions operate on sockets.
-[cols="1,4"]
|===
|<<nng_close#,nng_close(3)>>|close a socket
|<<nng_closeall#,nng_closeall(3)>>|close all open sockets
@@ -57,8 +51,7 @@ The following functions operate on sockets.
|<<nng_setopt#,nng_setopt(3)>>|set a socket option
|===
-Message Functions
-~~~~~~~~~~~~~~~~~
+=== Message Handling Functions
Applications desiring to use the richest part of _libnng_ will want to
use the message API, where a message structure is passed between functions.
@@ -68,21 +61,39 @@ Messages are divided into a header and body, where the body generally carries
user-payload and the header carries protocol specific header information.
Most applications will only interact with the body.
-[cols="1,4"]
|===
|<<nng_msg_alloc#,nng_msg_alloc(3)>>|allocate a message
-|<<nng_msg_body#,nng_msg_body(3)>>|return the message body
+|<<nng_msg_append#,nng_msg_append(3)>>|append to message body
+|<<nng_msg_body#,nng_msg_body(3)>>|return message body
+|<<nng_msg_chop#,nng_msg_chop(3)>>|remove data from end of message body
+|<<nng_msg_clear#,nng_msg_clear(3)>>|clear message body
+|<<nng_msg_dup#,nng_msg_len(3)>>|duplicate a message
|<<nng_msg_free#,nng_msg_free(3)>>|free a message
-|<<nng_msg_header#,nng_msg_header(3)>>|return the message header
-|<<nng_msg_header_len#,nng_msg_header_len(3)>>|return the message header length
+|<<nng_msg_insert#,nng_msg_insert(3)>>|prepend to message body
|<<nng_msg_len#,nng_msg_len(3)>>|return the message body length
|<<nng_msg_realloc#,nng_msg_realloc(3)>>|reallocate a message
+|<<nng_msg_trim#,nng_msg_trim(3)>>|remove data from start of message body
|<<nng_recv_msg#,nng_recvmsg(3)>>|receive a message
|<<nng_sendmsg#,nng_sendmsg(3)>>|send a message
|===
-Asynchronous Operations
-~~~~~~~~~~~~~~~~~~~~~~~
+==== Message Header Handling
+
+TIP: Few applications will need these functions, as message headers are only
+used to carry protocol-specific content. However, applications which use raw
+mode may need to access the header of messages.
+
+|===
+|<<nng_msg_header#,nng_msg_header(3)>>|return message header
+|<<nng_msg_header_append#,nng_msg_header_append(3)>>|append to message header
+|<<nng_msg_header_chop#,nng_msg_header_chop(3)>>|remove data from end of message header
+|<<nng_msg_header_clear#,nng_msg_header_clear(3)>>|clear message header
+|<<nng_msg_header_insert#,nng_msg_header_insert(3)>>|prepend to message header
+|<<nng_msg_header_len#,nng_msg_header_len(3)>>|return the message header length
+|<<nng_msg_header_trim#,nng_msg_header_trim(3)>>|remove data from start of message header
+|===
+
+=== Asynchronous Operations
Most applications will interact with _nng_ synchronously; that is that
functions such as <<nng_send#,nng_send()>> will block the calling
@@ -105,7 +116,6 @@ be associated with an _aio_ at any time.
The following functions are used in the asynchronous model:
-[cols="1,4"]
|===
|<<nng_aio_alloc#,nng_aio_alloc(3)>>|allocate asynchronous I/O context
|<<nng_aio_cancel#,nng_aio_cancel(3)>>|cancel asynchronous I/O operation
@@ -120,13 +130,11 @@ The following functions are used in the asynchronous model:
|<<nng_send_aio#,nng_send_aio(3)>>|send a message asynchronously
|===
-Protocols
-~~~~~~~~~
+=== Protocols
The following functions are used to construct a socket with a specific
protocol:
-[cols="1,4"]
|===
| <<nng_bus#,nng_bus_open(3)>>|open a bus socket
| <<nng_pair#,nng_pair_open(3)>>|open a pair socket
@@ -138,12 +146,10 @@ protocol:
| <<nng_surveyor#,nng_surveyor_open(3)>>|open a surveyor socket
|===
-Transports
-~~~~~~~~~~
+=== Transports
The following functions are used to register a transport for use.
-[cols="1,4"]
|===
| <<nng_inproc#,nng_inproc_register(3)>>|register inproc transport
| <<nng_ipc#,nng_ipc_register(3)>>|register IPC transport
@@ -154,12 +160,14 @@ The following functions are used to register a transport for use.
| <<nng_zerotier#,nng_zerotier_register(3)>>|register ZeroTier transport
|===
-TLS Configuration Objects
-~~~~~~~~~~~~~~~~~~~~~~~~
+=== TLS Configuration Objects
+
+The following functions are used to manipulate transport layer security
+(TLS) configuration objects.
-The following functions are used to manipulate TLS configuration objects.
+NOTE: These functions will only be present if the library has been built
+with TLS support.
-[cols="1,4"]
|===
| <<nng_tls_config_auth_alloc#,nng_tls_config_alloc(3)>>|allocate TLS configuration
| <<nng_tls_config_auth_mode#,nng_tls_config_auth_mode(3)>>|set authentication mode
@@ -167,18 +175,17 @@ The following functions are used to manipulate TLS configuration objects.
| <<nng_tls_config_ca_file#,nng_tls_config_ca_file(3)>>|load certificate authority from file
| <<nng_tls_config_cert_key_file#,nng_tls_config_cert_key_file_cert(3)>>|load own certificate and key from file
| <<nng_tls_config_own_cert#,nng_tls_config_own_cert(3)>>|set own certificate and key
-| <<nng_tls_config_free#,nng_tls_config_free(3)>>}free TLS configuration
+| <<nng_tls_config_free#,nng_tls_config_free(3)>>|free TLS configuration
| <<nng_tls_config_server_name#,nng_tls_config_server_name(3)>>|set remote server name
|===
-SEE ALSO
---------
+== SEE ALSO
+
<<nng#,nng(7)>>,
<<nng_compat#,nng_compat(3)>>
-COPYRIGHT
----------
+== COPYRIGHT
Copyright 2018 mailto:info@staysail.tech[Staysail Systems, Inc.] +
Copyright 2018 mailto:info@capitar.com[Capitar IT Group BV]