NAME¶
iob_new - create new I/O batch
SYNTAX¶
#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).
RETURN VALUE¶
iob_new returns a pointer to an I/O batch data structure. If there was a memory
allocation error, it returns NULL instead.
SEE ALSO¶
iob_reset(3),
iob_send(3),
iob_addbuf(3),
iob_adds_free(3),
iob_addfile(3)