ivykis is a library for asynchronous I/O readiness notification.
This package contains files needed to develop applications using
iv_event iv_event provides a way for delivering events to ivykis(3) recipients across thread boundaries. The intended event recipient calls IV_EVENT_INIT on a struct... iv_event_raw iv_event_raw provides a way for delivering events to ivykis(3) recipients across thread and process boundaries. The intended event recipient calls... iv_examples ivykis is initialised by calling iv_init(3). This function is the first function to call when dealing with ivykis -- it has to be called before registering file... iv_fatal iv_fatal aborts the running program, after possibly emitting an error message. The fmt parameter is a printf(3)-style format string, the message to be logged... iv_fd The functions iv_fd_register and iv_fd_unregister register, respectively unregister, a file descriptor with the current thread's ivykis event loop. Calling... iv_fd_pump iv_fd_pump provides a way for moving data between two file descriptors. To set up iv_fd_pump for moving data, call IV_FD_PUMP_INIT on a struct iv_fd_pump... iv_init iv_init initialises the current thread's ivykis event loop. Each thread that wants to use ivykis must call iv_init before any other ivykis functions are called... iv_inotify The iv_inotify_register function registers an iv_inotify instance with the iv_inotify(3) module. The inotify parameter is a pointer to the iv_inotify structure... iv_main iv_main enters the current thread's ivykis main loop. The ivykis main loop consists of checking the status of the registered file descriptors, timers and tasks... iv_popen iv_popen provides ivykis(3) applications with an asynchronous version of popen(3) that is integrated with the ivykis event loop. After initialising a struct... iv_quit iv_quit signals ivykis to exit the current thread's main loop. If called from any callback function, iv_quit will cause the iv_main(3) function called from the... iv_signal iv_signal provides a way for ivykis(3) applications to handle POSIX signals, by integrating them with the ivykis event loop. An ivykis application desiring... iv_task The functions iv_task_register and iv_task_unregister register, respectively unregister, a task with the current thread's ivykis event loop. iv_task_registered... iv_time iv_now is a global variable that represents a monotonic timer. The contents of iv_now might be stale. Calling the function iv_validate_now ensures that the... iv_timer The functions iv_timer_register and iv_timer_unregister register, respectively unregister, a timer with the current thread's ivykis event loop... iv_tls The iv_tls interface provides thread-local storage handling to ivykis modules. An ivykis module can arrange for an amount of memory to be allocated for its use... iv_wait iv_wait is an ivykis(3) wrapper around wait4(2), integrating process state change notification with the ivykis event loop. An ivykis application desiring... iv_work Calling iv_work_pool_create on a struct iv_work_pool object previously initialised by IV_WORK_POOL_INIT creates a pool of worker threads that can be used to... ivykis ivykis is a library for asynchronous I/O readiness notification. It is a thin, portable wrapper around OS-provided mechanisms such as epoll_create(2)...