logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

nng_ctx_open - create context

Description

       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.

Errors

       NNG_ENOMEM
           Insufficient memory is available.

       NNG_ENOTSUP
           The protocol does not support separate contexts, or the socket was opened in raw mode.

Name

       nng_ctx_open - create context

Return Values

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

See Also

nng_ctx_close(3), nng_ctx_getopt(3), nng_ctx_recv(3), nng_ctx_send(3), nng_ctx_setopt(3),
       nng_strerror(3), nng_ctx(5), nng_socket(5), nng_rep(7), nng_req(7), nng(7)

                                                   2025-04-20                                    NNG_CTX_OPEN(3)

Synopsis

           #include <nng/nng.h>

           int nng_ctx_open(nng_ctx *ctxp, nng_socket s);

See Also