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 ALSOxs_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 02/17/2016 XS_SETCTXOPT(3)