The nng_ctx_open()
function creates a separate context to be used with
the socket s,
and returns it at the location pointed by ctxp.
Note
|
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.
Note
|
Use of contexts with raw mode sockets is nonsensical, and not supported. |
NNG_ENOMEM
|
Insufficient memory is available. |
NNG_ENOTSUP
|
The protocol does not support separate contexts, or the socket was opened in raw mode. |