This documentation is for version v1.7.3 of NNG, but the latest released version is v1.8.0. see the documentation for v1.8.0 for the most up-to-date information.

nng_ctx_recvmsg(3)

NAME

nng_ctx_recvmsg - receive message using socket

SYNOPSIS

#include <nng/nng.h>

int nng_ctx_recvmsg(nng_ctx ctx, nng_msg **msgp, int flags);

DESCRIPTION

The nng_ctx_recvmsg() receives a message on context ctx, storing the received message at the location pointed to by msgp.

The flags may contain the following value:

NNG_FLAG_NONBLOCK

The function returns immediately, even if no message is available. Without this flag, the function will wait until a message is receivable on the context ctx, or any configured timer expires.

The semantics of what receiving a message means vary from protocol to protocol, so examination of the protocol documentation is encouraged.

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 context or socket is not open.

NNG_EINVAL

An invalid set of flags was specified.

NNG_ENOMEM

Insufficient memory is available.

NNG_ENOTSUP

The protocol does not support receiving.

NNG_ESTATE

The context cannot receive data in this state.

NNG_ETIMEDOUT

The operation timed out.

SEE ALSO