Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
ZMQ_CTX_SET(3)			  0MQ Manual			ZMQ_CTX_SET(3)

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	context's thread pool. This option is not available on
       windows.	Supported values for this option can be	found in sched.h file,
       or at http://man7.org/linux/man-pages/man2/sched_setscheduler.2.html.
       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
       context's thread	pool. This option is not available on windows.
       Supported values	for this option	depend on chosen scheduling policy. On
       Linux, when the scheduler policy	is SCHED_OTHER,	SCHED_IDLE or
       SCHED_BATCH, the	OS scheduler will not use the thread priority but
       rather the thread "nice value"; in such cases the system	call "nice"
       will be used to set the nice value to -20 (max priority)	instead	of
       adjusting the thread priority (which must be zero for those scheduling
       policies). Details can be found in sched.h file,	or at
       http://man7.org/linux/man-pages/man2/sched_setscheduler.2.html. This
       option only applies before creating any sockets on the context.

       Default value   -1

   ZMQ_THREAD_AFFINITY_CPU_ADD:	Add a CPU to list of affinity for I/O threads
       The ZMQ_THREAD_AFFINITY_CPU_ADD argument	adds a specific	CPU to the
       affinity	list for the internal context's	thread pool. This option is
       only supported on Linux.	This option only applies before	creating any
       sockets on the context. The default affinity list is empty and means
       that no explicit	CPU-affinity will be set on internal context's
       threads.

       Default value   -1

   ZMQ_THREAD_AFFINITY_CPU_REMOVE: Remove a CPU	to list	of affinity for	I/O
       threads
       The ZMQ_THREAD_AFFINITY_CPU_REMOVE argument removes a specific CPU to
       the affinity list for the internal context's thread pool. This option
       is only supported on Linux. This	option only applies before creating
       any sockets on the context. The default affinity	list is	empty and
       means that no explicit CPU-affinity will	be set on internal context's
       threads.

       Default value   -1

   ZMQ_THREAD_NAME_PREFIX: Set name prefix for I/O threads
       The ZMQ_THREAD_NAME_PREFIX argument sets	a numeric prefix to each
       thread created for the internal context's thread	pool. This option is
       only supported on Linux.	This option is useful to help debugging	done
       via "top	-H" or "gdb"; in case multiple processes on the	system are
       using ZeroMQ it is useful to provide through this context option	an
       application-specific prefix to distinguish ZeroMQ background threads
       that belong to different	processes. 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_ZERO_COPY_RCV: Specify message decoding strategy
       The ZMQ_ZERO_COPY_RCV argument specifies	whether	the message decoder
       should use a zero copy strategy when receiving messages.	The zero copy
       strategy	can lead to increased memory usage in some cases. This option
       allows you to use the older copying strategy. You can query the value
       of this option with zmq_ctx_get(3) using	the ZMQ_ZERO_COPY_RECV option.
       NOTE: in	DRAFT state, not yet available in stable releases.

       Default value   1

   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
       http://www.zeromq.org/docs:contributing.

0MQ 4.3.1			  01/12/2019			ZMQ_CTX_SET(3)

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | ERRORS | EXAMPLE | SEE ALSO | AUTHORS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=zmq_ctx_set&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help