www.LinuxHowtos.org





ZMQ_CTX_SET

Section: 0MQ Manual (3)
Updated: 12/31/2016
Index Return to Main Contents
 

NAME

zmq_ctx_set - set context options  

SYNOPSIS

int zmq_ctx_set (void *context, int option_name, int option_value);  

DESCRIPTION

The zmq_ctx_set() function shall set the option specified by the option_name argument to the value of the option_value argument.

The zmq_ctx_set() function accepts the following options:  

ZMQ_BLOCKY: Fix blocky behavior

By default the context will block, forever, on a zmq_ctx_term call. The assumption behind this behavior is that abrupt termination will cause message loss. Most real applications use some form of handshaking to ensure applications receive termination messages, and then terminate the context with ZMQ_LINGER set to zero on all sockets. This setting is an easier way to get the same result. When ZMQ_BLOCKY is set to false, all new sockets are given a linger timeout of zero. You must still close all sockets before calling zmq_ctx_term.

Default value

true (old behavior)

 

ZMQ_IO_THREADS: Set number of I/O threads

The ZMQ_IO_THREADS argument specifies the size of the 0MQ thread pool to handle I/O operations. If your application is using only the inproc transport for messaging you may set this to zero, otherwise set it to at least one. This option only applies before creating any sockets on the context.

Default value

1

 

ZMQ_THREAD_SCHED_POLICY: Set scheduling policy for I/O threads

The ZMQ_THREAD_SCHED_POLICY argument sets the scheduling policy for internal contextcqs thread pool. This option is not available on windows. Supported values for this option can be found in sched.h file, or at m[blue]http://man7.org/linux/man-pages/man2/sched_setscheduler.2.htmlm[]. This option only applies before creating any sockets on the context.

Default value

-1

 

ZMQ_THREAD_PRIORITY: Set scheduling priority for I/O threads

The ZMQ_THREAD_PRIORITY argument sets scheduling priority for internal contextcqs thread pool. This option is not available on windows. Supported values for this option depend on chosen scheduling policy. Details can be found in sched.h file, or at m[blue]http://man7.org/linux/man-pages/man2/sched_setscheduler.2.htmlm[]. This option only applies before creating any sockets on the context.

Default value

-1

 

ZMQ_MAX_MSGSZ: Set maximum message size

The ZMQ_MAX_MSGSZ argument sets the maximum allowed size of a message sent in the context. You can query the maximal allowed value with zmq_ctx_get(3) using the ZMQ_MAX_MSGSZ option.

Default value

INT_MAX

Maximum value

INT_MAX

 

ZMQ_MAX_SOCKETS: Set maximum number of sockets

The ZMQ_MAX_SOCKETS argument sets the maximum number of sockets allowed on the context. You can query the maximal allowed value with zmq_ctx_get(3) using the ZMQ_SOCKET_LIMIT option.

Default value

1024

 

ZMQ_IPV6: Set IPv6 option

The ZMQ_IPV6 argument sets the IPv6 value for all sockets created in the context from this point onwards. A value of 1 means IPv6 is enabled, while 0 means the socket will use only IPv4. When IPv6 is enabled, a socket will connect to, or accept connections from, both IPv4 and IPv6 hosts.

Default value

0

 

RETURN VALUE

The zmq_ctx_set() function returns zero if successful. Otherwise it returns -1 and sets errno to one of the values defined below.  

ERRORS

EINVAL

The requested option option_name is unknown.
 

EXAMPLE

Setting a limit on the number of sockets.

void *context = zmq_ctx_new ();
zmq_ctx_set (context, ZMQ_MAX_SOCKETS, 256);
int max_sockets = zmq_ctx_get (context, ZMQ_MAX_SOCKETS);
assert (max_sockets == 256);

 

SEE ALSO

zmq_ctx_get(3) zmq(7)  

AUTHORS

This page was written by the 0MQ community. To make a change please read the 0MQ Contribution Policy at m[blue]http://www.zeromq.org/docs:contributingm[].


 

Index

NAME
SYNOPSIS
DESCRIPTION
ZMQ_BLOCKY: Fix blocky behavior
ZMQ_IO_THREADS: Set number of I/O threads
ZMQ_THREAD_SCHED_POLICY: Set scheduling policy for I/O threads
ZMQ_THREAD_PRIORITY: Set scheduling priority for I/O threads
ZMQ_MAX_MSGSZ: Set maximum message size
ZMQ_MAX_SOCKETS: Set maximum number of sockets
ZMQ_IPV6: Set IPv6 option
RETURN VALUE
ERRORS
EXAMPLE
SEE ALSO
AUTHORS