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);

RELATED TO xs_setctxopt…

xs_init(3) xs(7)

AUTHORS

The Crossroads documentation was written by Martin Sustrik <\m[blue][email protected]\m[]\s-2\u[1]\d\s+2> and Martin Lucina <\m[blue][email protected]\m[]\s-2\u[2]\d\s+2>.

NOTES