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

FreeBSD Manual Pages

  
 
  

home | help
XS_SETCTXOPT(3)		     Crossroads	I/O Manual	       XS_SETCTXOPT(3)

NAME
       xs_setctxopt - set Crossroads context options

SYNOPSIS
       int xs_setctxopt	(void *context,	int option_name, const void
       *option_value, size_t option_len);

DESCRIPTION
       The xs_setctxopt() function shall set the option	specified by the
       option_name argument to the value pointed to by the option_value
       argument, for the Crossroads context pointed to by the context
       argument. The option_len	argument is the	size of	the option value in
       bytes.

	   Caution
	   Context options take	effect only if set with	xs_setctxopt() prior
	   to creating the first socket	in a given context with	xs_socket().

       The following options can be set	with the xs_setctxopt()	function:

   XS_MAX_SOCKETS: Set maximum number of sockets
       The XS_MAX_SOCKETS option shall set the maximum nuber of	sockets	that
       can be simultaneously active in the given context.

       Option value type   int

       Option value unit   sockets

       Default value	   512

   XS_IO_THREADS: Set number of	worker threads
       The XS_IO_THREADS option	shall set the size of the thread pool created
       by the given context to handle I/O operations. The minimum value	for
       this option is 1.

       Option value type   int

       Option value unit   threads

       Default value	   1

RETURN VALUE
       The xs_setctxopt() function shall return	zero if	successful. Otherwise
       it shall	return -1 and set errno	to one of the values defined below.

ERRORS
       EINVAL
	   The requested option	option_name is unknown,	or the requested
	   option_len or option_value is invalid.

       EFAULT
	   The provided	context	was invalid.

EXAMPLE
       Setting the number of I/O threads for a context to four..

	   void	*context = xs_init ();
	   int io_threads = 4;
	   rc =	xs_setctxopt (context, XS_IO_THREADS, &io_threads, sizeof (io_threads));
	   assert (rc == 0);
	   /* The above	call MUST be called before any socket is created in context */
	   void	*socket	= xs_socket (context, XS_PUB);

SEE ALSO
       xs_init(3) xs(7)

AUTHORS
       The Crossroads documentation was	written	by Martin Sustrik
       <sustrik@250bpm.com[1]> and Martin Lucina <martin@lucina.net[2]>.

NOTES
	1. sustrik@250bpm.com
	   mailto:sustrik@250bpm.com

	2. martin@lucina.net
	   mailto:martin@lucina.net

Crossroads I/O 1.2.0		  08/08/2020		       XS_SETCTXOPT(3)

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

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

home | help