libivykis is a library for asynchronous I/O readiness notification. It is a thin, portable wrapper around OS-provided mechanisms such as kqueue(2) and poll(2). this is a dependency of more recent versions of syslog-ng.
15 lines
702 B
Plaintext
15 lines
702 B
Plaintext
libivykis is a library for asynchronous I/O readiness notification.
|
|
It is a thin, portable wrapper around OS-provided mechanisms such as
|
|
kqueue(2) and poll(2).
|
|
|
|
libivykis was mainly designed for building high-performance network
|
|
applications, but can be used in any event-driven application that uses
|
|
poll(2)able file descriptors as its event sources.
|
|
|
|
While some programming models dictate using blocking I/O and starting a
|
|
thread per event source, programs written to the ivykis API are
|
|
generally single-threaded (or use only a small number of threads), and
|
|
never block on I/O. All input and output is done in a nonblocking
|
|
fashion, with I/O readiness notifications delivered via callback
|
|
functions.
|