SYNOPSIS
#include <nng/nng.h>
int nng_ctx_open(nng_ctx *ctxp, nng_socket s);
DESCRIPTION
The nng_ctx0_open()
function creates a separate context to be used with
the socket s,
and returns it at the location pointed by ctxp.
Not every protocol supports creation of separate contexts. |
Contexts allow the independent and concurrent use of stateful operations using the same socket. For example, two different contexts created on a rep socket can each receive requests, and send replies to them, without any regard to or interference with each other.
TIP: Using contexts is an excellent way to write simpler concurrent applications, while retaining the benefits of the protocol-specific advanced processing, avoiding the need to bypass that with raw mode sockets.
Use of contexts with raw mode sockets is nonsensical, and not supported. |
RETURN VALUES
This function returns 0 on success, and non-zero otherwise.
ERRORS
NNG_ENOMEM
|
Insufficient memory is available. |
NNG_ENOTSUP
|
The protocol does not support separate contexts, or the socket was opened in raw mode. |