Man page - nng_ctx_open(3)
Packages contas this manual
- nng_respondent_open(3)
- nng_listener_start(3)
- nng_log(3)
- nng_msg_header_trim(3)
- nng_stats_get(3)
- nng_listener_id(3)
- nng_msg_chop(3)
- nng_ctx_close(3)
- nng_msg_header_insert(3)
- nng_sockaddr(5)
- nng_pipe_id(3)
- nng_pipe_close(3)
- nng_stat_desc(3)
- libnng(3)
- nng_aio_set_msg(3)
- nng_pub(7)
- nng_listener_set(3)
- nng_recv_aio(3)
- nng_socket_raw(3)
- nng_ipc_register(3)
- nng_aio_alloc(3)
- nng_sendmsg(3)
- nng_ctx_getopt(3)
- nng_sockaddr_abstract(5)
- nng_stat_timestamp(3)
- nng_free(3)
- nng_ctx_open(3)
- nng_send(3)
- nng_stat_string(3)
- nng_stream(5)
- nng_socket_id(3)
- nng_socket_set(3)
- nng_stats_free(3)
- nng_dialer(5)
- nng_stat_next(3)
- nng_msg_set_pipe(3)
- nng_ctx_set(3)
- nng_sockaddr_ipc(5)
- nng_options(5)
- nng_dialer_create(3)
- nng_url_parse(3)
- nng_listener_setopt(3)
- nng_aio_get_output(3)
- nng_req_open(3)
- nng_iov(5)
- nng_dialer_get(3)
- nng_zt_register(3)
- nng_ctx_setopt(3)
- nng_listener_getopt(3)
- nng_stat_bool(3)
- nng_push(7)
- nng_stream_dialer(5)
- nng_aio_get_input(3)
- nng_msg_alloc(3)
- nng_close(3)
- nng_req(7)
- nng_aio_cancel(3)
- nng_tls(7)
- nng_url_free(3)
- nng_pipe_listener(3)
- nng_respondent(7)
- nng_sockaddr_in(5)
- nng_pair(7)
- nng_pipe_getopt(3)
- nng_aio_stop(3)
- nng_aio_free(3)
- nng_pipe_get(3)
- nng_aio_result(3)
- nng(7)
- nng_msg_insert(3)
- nng_ws(7)
- nng_sub_open(3)
- nng_listener_create(3)
- nng_socket_proto_id(3)
- nng_stat_find_listener(3)
- nng_zerotier(7)
- nng_msg_header_chop(3)
- nng_stat_find(3)
- nng_stat_name(3)
- nng_msg_free(3)
- nng_aio(5)
- nng_str_sockaddr(3)
- nng_sub(7)
- nng_msg_header_append(3)
- nng_log_set_facility(3)
- nng_pipe_socket(3)
- nng_sockaddr_in6(5)
- nng_stat_find_socket(3)
- nng_dialer_id(3)
- nng_tcp_register(3)
- nng_tls_engine(5)
- nng_device(3)
- nng_url(5)
- nng_msg_clear(3)
- nng_log_set_level(3)
- nng_stream_listener(5)
- nng_setopt(3)
- nng_tls_config(5)
- nng_tcp_options(5)
- nng_msg_header_len(3)
- nng_recvmsg(3)
- nng_dialer_close(3)
- nng_msg_dup(3)
- nng_pipe_dialer(3)
- nng_listener_close(3)
- nng_aio_set_input(3)
- nng_listen(3)
- nng_tcp(7)
- nng_msg_len(3)
- nng_listener(5)
- nng_dialer_getopt(3)
- nng_ctx(5)
- nng_version(3)
- nng_ws_register(3)
- nng_tls_options(5)
- nng_stat_type(3)
- nng_msg_body(3)
- nng_alloc(3)
- nng_msg_append(3)
- nng_ctx_recv(3)
- nng_tls_register(3)
- nng_sockaddr_inproc(5)
- nng_socket(5)
- nng_socket(7)
- nng_ctx_get(3)
- nng_wss_register(3)
- nng_stat_unit(3)
- nng_inproc(7)
- nng_sockaddr_zt(5)
- nng_msg(5)
- nng_strfree(3)
- nng_aio_finish(3)
- nng_pull_open(3)
- nng_aio_defer(3)
- nng_stat(5)
- nng_sleep_aio(3)
- nng_aio_set_iov(3)
- nng_inproc_register(3)
- nng_aio_abort(3)
- nng_msg_realloc(3)
- nng_strdup(3)
- nng_dialer_setopt(3)
- nng_aio_begin(3)
- nng_msg_get_pipe(3)
- nng_rep(7)
- nng_ctx_id(3)
- nng_getopt(3)
- nng_pipe(5)
- nng_pipe_notify(3)
- nng_strerror(3)
- nng_pair_open(3)
- nng_rep_open(3)
- nng_msg_header(3)
- nng_msg_trim(3)
- nng_aio_get_msg(3)
- nng_log_get_level(3)
- nng_dialer_set(3)
- nng_msg_header_clear(3)
- nng_log_set_logger(3)
- nng_listener_get(3)
- nng_aio_set_timeout(3)
- nng_aio_count(3)
- nng_socket_get(3)
- nng_send_aio(3)
- nng_pub_open(3)
- nng_surveyor_open(3)
- nng_recv(3)
- nng_pull(7)
- nng_dial(3)
- nng_push_open(3)
- nng_dialer_start(3)
- nng_stat_value(3)
- nng_bus(7)
- nng_stat_child(3)
- nng_ctx_send(3)
- nng_stat_find_dialer(3)
- nng_url_clone(3)
- nng_aio_set_output(3)
- nng_ipc(7)
- nng_socket_proto_name(3)
- nng_bus_open(3)
- nng_aio_wait(3)
- nng_duration(5)
- nng_surveyor(7)
- nng_ipc_options(5)
apt-get install libnng-dev
Manual
| NNG_CTX_OPEN(3) | NNG Reference Manual | NNG_CTX_OPEN(3) |
NAME
nng_ctx_open - create context
SYNOPSIS
#include <nng/nng.h> int nng_ctx_open(nng_ctx *ctxp, nng_socket s);
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.
RETURN VALUES
This function returns 0 on success, and non-zero otherwise.
ERRORS
NNG_ENOMEM
NNG_ENOTSUP
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 |