document the new functions
parent
af8a2d7215
commit
f045b33647
@ -0,0 +1,25 @@
|
|||||||
|
.TH iob_init 3
|
||||||
|
.SH NAME
|
||||||
|
iob_init \- initialize new I/O batch
|
||||||
|
.SH SYNTAX
|
||||||
|
.B #include <libowfat/iob.h>
|
||||||
|
|
||||||
|
int \fBiob_init\fP(io_batch* b,size_t hint_entries);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
iob_init initializes \fI*b\fR with enough space allocated for
|
||||||
|
\fIhint_entries\fR 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).
|
||||||
|
.SH "RETURN VALUE"
|
||||||
|
iob_init returns 0 on success. If there was a memory allocation error,
|
||||||
|
it returns -1 instead.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
iob_new(3), iob_init_autofree(3), iob_reset(3), iob_send(3), iob_addbuf(3), iob_adds_free(3), iob_addfile(3)
|
@ -0,0 +1,31 @@
|
|||||||
|
.TH iob_init 3
|
||||||
|
.SH NAME
|
||||||
|
iob_init_autofree \- initialize new I/O batch with autofree flag set
|
||||||
|
.SH SYNTAX
|
||||||
|
.B #include <libowfat/iob.h>
|
||||||
|
|
||||||
|
int \fBiob_init_autofree\fP(io_batch* b,size_t hint_entries);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
iob_init_autofree initializes \fI*b\fR with enough space allocated for
|
||||||
|
\fIhint_entries\fR entries (buffers or files). This is purely a
|
||||||
|
performance hint, if you are unsure just pass 1.
|
||||||
|
|
||||||
|
The autofree flag will be set, which means resources will be freed in
|
||||||
|
\fIiob_send\fR once they have been sent out, not only once you call \fIiob_reset\fR
|
||||||
|
or \fIiob_free\fR at the end. You still have to call those as autofree only
|
||||||
|
frees resources to be sent in the batch, not the resources of the batch
|
||||||
|
itself.
|
||||||
|
|
||||||
|
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).
|
||||||
|
.SH "RETURN VALUE"
|
||||||
|
iob_init returns 0 on success. If there was a memory allocation error,
|
||||||
|
it returns -1 instead.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
iob_new(3), iob_init_autofree(3), iob_reset(3), iob_send(3), iob_addbuf(3), iob_adds_free(3), iob_addfile(3)
|
@ -0,0 +1,31 @@
|
|||||||
|
.TH iob_new_autofree 3
|
||||||
|
.SH NAME
|
||||||
|
iob_new_autofree \- create new I/O batch with autofree flag set
|
||||||
|
.SH SYNTAX
|
||||||
|
.B #include <libowfat/iob.h>
|
||||||
|
|
||||||
|
io_batch* \fBiob_new_autofree\fP(size_t hint_entries);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
iob_new_autofree creates a new I/O batch with enough space allocated for
|
||||||
|
\fIhint_entries\fR entries (buffers or files). This is purely a
|
||||||
|
performance hint. If you are unsure just pass 1.
|
||||||
|
|
||||||
|
The autofree flag will be set, which means resources will be freed in
|
||||||
|
\fIiob_send\fR once they have been sent out, not only once you call \fIiob_reset\fR
|
||||||
|
or \fIiob_free\fR at the end. You still have to call those as autofree only
|
||||||
|
frees resources to be sent in the batch, not the resources of the batch
|
||||||
|
itself.
|
||||||
|
|
||||||
|
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).
|
||||||
|
.SH "RETURN VALUE"
|
||||||
|
iob_new_autofree returns a pointer to an I/O batch data structure. If
|
||||||
|
there was a memory allocation error, it returns NULL instead.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
iob_new(3), iob_init(3), iob_reset(3), iob_send(3), iob_addbuf(3), iob_adds_free(3), iob_addfile(3)
|
Loading…
Reference in New Issue