aboutsummaryrefslogtreecommitdiff
path: root/docs/man/nng.7.adoc
diff options
context:
space:
mode:
Diffstat (limited to 'docs/man/nng.7.adoc')
-rw-r--r--docs/man/nng.7.adoc46
1 files changed, 18 insertions, 28 deletions
diff --git a/docs/man/nng.7.adoc b/docs/man/nng.7.adoc
index 8511bdb0..1097a5f8 100644
--- a/docs/man/nng.7.adoc
+++ b/docs/man/nng.7.adoc
@@ -19,7 +19,7 @@ nng - nanomsg next generation
== DESCRIPTION
-The _nng_ library provides a common messaging framework intended to
+_NNG_ provides a common messaging framework intended to
solve common communication problems in distributed applications.
It offers a number of _protocols_, and also a number of _transports_.
@@ -30,23 +30,24 @@ publish/subscribe, and so forth.
The _transports_ provide support for underlying transport methods, such
as TCP, IPC, websockets, and so forth.
-The _nng_ library is designed to permit easy creation of new _transports_ and,
+_NNG_ is designed to permit easy creation of new _transports_ and,
to a lesser extent, new _protocols_.
-The _nng_ library is wire compatible with the SP protocols described in
+_NNG_ is wire compatible with the SP protocols described in
the nanomsg project; projects using
https://github.com/nanomsg/nanomsg[_libnanomsg_] can inter-operate with
nng as well as other conforming implementations. (One such implementation
-is https://github.com/go-mangos/mangos[_mangos_].) Applications using _nng_
-which wish to communicate with older libraries must ensure that they only
-use protocols or transports offered by the earlier library.
+is https://github.com/go-mangos/mangos[_mangos_].)
+Applications using _NNG_
+which wish to communicate with other libraries must ensure that they only
+use protocols or transports offered by the other library.
-The _nng_ library also offers a compatible API, permitting legacy code to
-be recompiled or relinked against _nng_. When doing this, support for
+_NNG_ also offers a compatible API, permitting legacy code to
+be recompiled or relinked against _NNG_. When doing this, support for
certain enhancements or features will likely be absent, requiring the
application developer to use the new-style API.
-The _nng_ library is implemented in pure C; if you need bindings for
+_NNG_ is implemented in pure C; if you need bindings for
other languages please check the http://nanomsg.org/[website].
=== Protocols
@@ -63,17 +64,6 @@ xref:nng_req.7.adoc[nng_req(7)]:: Request side of request/reply protocol
xref:nng_respondent.7.adoc[nng_respondent(7)]:: Respondent side of survey protocol
xref:nng_surveyor.7.adoc[nng_surveyor(7)]:: Surveyor side of survey protocol
-//* xref:nng_bus.7.adoc[nng_bus(7)] - Bus protocol
-//* xref:nng_pair.7.adoc[nng_pair(7)] - Pair protocol
-//* xref:nng_pub.7.adoc[nng_pub(7)] - Publisher side of publish/subscribe protocol
-//* xref:nng_pull.7.adoc[nng_pull(7)] - Pull side of pipeline protocol
-//* xref:nng_push.7.adoc[nng_push(7)] - Push side of pipeline protocol
-//* xref:nng_sub.7.adoc[nng_sub(7)] - Subscriber side of publish/subscribe protocol
-//* xref:nng_rep.7.adoc[nng_rep(7)] - Reply side of request/reply protocol
-//* xref:nng_req.7.adoc[nng_req(7)] - Request side of request/reply protocol
-//* xref:nng_respondent.7.adoc[nng_respondent(7)] - Respondent side of survey protocol
-//* xref:nng_surveyor.7.adoc[nng_surveyor(7)] - Surveyor side of survey protocol
-
=== Transports
[horizontal]
@@ -86,18 +76,18 @@ xref:nng_zerotier.7.adoc[nng_zerotier(7)]:: ZeroTier transport
=== Conceptual Overview
-_nng_ presents a _socket_ view of networking.
+_NNG_ presents a _socket_ view of networking.
The sockets are constructed using protocol-specific functions, as a given
-socket implements precisely one _nng_ protocol.
+socket implements precisely one protocol.
Each socket can be used to send and receive messages (if the protocol)
supports it, and implements the appropriate protocol semantics.
For example, xref:nng_sub.7.adoc[_sub_] sockets automatically filter incoming
messages to discard those for topics that have not been subscribed.
-_nng_ sockets are message oriented, so that messages are either delivered
+_NNG_ sockets are message oriented, so that messages are either delivered
wholly, or not at all. Partial delivery is not possible.
-Furthermore, _nng_ does not provide any other delivery or ordering guarantees;
+Furthermore, _NNG_ does not provide any other delivery or ordering guarantees;
messages may be dropped or reordered
(Some protocols, such as xref:nng_req.7.adoc[_req_] may offer stronger
guarantees by performing their own retry and validation schemes.)
@@ -131,7 +121,7 @@ other than in a few specific circumstances.
==== Raw Mode
(((cooked mode)))(((raw mode)))
-Most applications will use _nng_ sockets in normal, or _cooked_, mode.
+Most applications will use sockets in normal, or _cooked_, mode.
This mode provides the full semantics of the protocol.
For example, xref:nng_req.7.adoc[_req_] sockets will automatically
match a reply to a request, and resend requests periodically if no reply
@@ -156,13 +146,13 @@ processing is needed.
==== URLs
(((URL)))
-The _nng_ library uses ((universal resource locators)) (URLs)
+_NNG_ uses ((universal resource locators)) (URLs)
following the format specified in
https://tools.ietf.org/html/rfc3986[RFC 3986],
including some schemes that are unique
to SP.
(((URL, canonicalized)))
-The URLs used in _nng_ are canonicalized as follows, mostly in
+The URLs used in _NNG_ are canonicalized as follows, mostly in
accordance with
https://tools.ietf.org/html/rfc3986#section-6.2.2[RFC 3986 6.2.2]:
@@ -183,7 +173,7 @@ https://tools.ietf.org/html/rfc3986#section-6.2.2[RFC 3986 6.2.2]:
slash (`/`) separators are removed from the path.
Note that steps 4, 5, and 7 are not specified by RFC 3986, but performing
-them is believed to improve both the usability and security of _nng_
+them is believed to improve both the usability and security of
applications, without violating RFC 3986 itself.
TIP: Port numbers may be service names in some instances, but it is recommended