Provided by: libxs-dev_1.2.0-1.1_amd64 bug

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