From 8b8fdbdc2e3fef03e21177eb3710491e4c080d43 Mon Sep 17 00:00:00 2001 From: Garrett D'Amore Date: Thu, 23 Jan 2020 23:24:04 -0800 Subject: Publishing updates for v1.2.4 --- man/v1.2.4/nng_recv.3.html | 219 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 219 insertions(+) create mode 100644 man/v1.2.4/nng_recv.3.html (limited to 'man/v1.2.4/nng_recv.3.html') diff --git a/man/v1.2.4/nng_recv.3.html b/man/v1.2.4/nng_recv.3.html new file mode 100644 index 00000000..b8270856 --- /dev/null +++ b/man/v1.2.4/nng_recv.3.html @@ -0,0 +1,219 @@ +--- +version: v1.2.4 +layout: refman +--- + + + + + + + +nng_recv(3) + + + + + + +
+
+

SYNOPSIS

+
+
+
+
#include <nng/nng.h>
+
+int nng_recv(nng_socket s, void *data, size_t *sizep, int flags);
+
+
+
+
+
+

DESCRIPTION

+
+
+

The nng_recv() receives a message.

+
+
+

The flags is a bit mask that may contain any of the following values:

+
+
+
+
NNG_FLAG_NONBLOCK
+
+

The function returns immediately, even if no message is available. +Without this flag, the function will wait until a message is received +by the socket s, or any configured timer expires.

+
+
NNG_FLAG_ALLOC
+
+

If this flag is present, then a “zero-copy” mode is used. +In this case the caller must set the value of data to the location +of another pointer (of type void *), and the sizep pointer must be set +to a location to receive the size of the message body. +The function will then allocate a message buffer +(as if by nng_alloc()), fill it with +the message body, and store it at the address referenced by data, and update +the size referenced by sizep. +The caller is responsible for disposing of the received buffer either by +the nng_free() function or passing the message (also +with the NNG_FLAG_ALLOC flag) in a call to nng_send().

+
+
+
+
+

If the special flag NNG_FLAG_ALLOC (see above) is not specified, then the +caller must set data to a buffer to receive the message body content, +and must store the size of that buffer at the location pointed to by sizep. +When the function returns, if it is successful, the size at sizep will be +updated with the actual message body length copied into data.

+
+
+ + + + + +
+ + +The semantics of what receiving a message means vary from protocol to +protocol, so examination of the protocol documentation is encouraged. +(For example, with a req socket a message may only be received +after a request has been sent, and a sub socket +may only receive messages corresponding to topics to which it has subscribed.) +Furthermore, some protocols may not support receiving data at all, such as +pub. +
+
+
+ + + + + +
+ + +The NNG_FLAG_ALLOC flag can be used to reduce data copies, thereby +increasing performance, particularly if the buffer is reused to send +a response using the same flag. +
+
+
+
+
+

RETURN VALUES

+
+
+

This function returns 0 on success, and non-zero otherwise.

+
+
+
+
+

ERRORS

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+NNG_EAGAIN + +

The operation would block, but NNG_FLAG_NONBLOCK was specified.

+
+NNG_ECLOSED + +

The socket s is not open.

+
+NNG_EINVAL + +

An invalid set of flags was specified.

+
+NNG_EMSGSIZE + +

The received message did not fit in the size provided.

+
+NNG_ENOMEM + +

Insufficient memory is available.

+
+NNG_ENOTSUP + +

The protocol for socket s does not support receiving.

+
+NNG_ESTATE + +

The socket s cannot receive data in this state.

+
+NNG_ETIMEDOUT + +

The operation timed out.

+
+
+
+
+ +
+ + + \ No newline at end of file -- cgit v1.2.3-70-g09d2