table of contents
iob_new(3) | Library Functions Manual | iob_new(3) |
NAME¶
iob_new - create new I/O batchSYNTAX¶
#include <iob.h>io_batch* iob_new(int hint_entries);
DESCRIPTION¶
iob_new creates a new I/O batch with enough space allocated for hint_entries entries (buffers or files). This is purely a performance hint, if you are unsure just pass 1.You can add buffers, strings and files to an I/O batch and then send it all at once using iob_send.
The benefit of the I/O batch API is that it exploits platform specific APIs like FreeBSD's sendfile. The file contents will always be sent in a way that allows the operating systems to perform zero copy TCP, and the buffers will always be sent using as few syscalls as possible and avoiding unnecessary copying (using writev).