41 Commits

Author SHA1 Message Date
leitner
e4a2f4d068 compile if MSG_ZEROCOPY is not defined by libc 2017-11-24 17:21:10 +00:00
leitner
f8c4132df0 add MSG_ZEROCOPY support (only used for buffers >8k) 2017-11-15 14:09:26 +00:00
leitner
7bdc1b29bb a few missing headers and minor fixes
fix corking behavior for the case where a buffer follows a buffer in
iob_send
2015-09-06 18:01:02 +00:00
leitner
193dfba16b remove compiler warning 2014-10-16 16:17:09 +00:00
leitner
953eb639b2 on Linux, save a few syscalls by using sendto/sendmsg with MSG_MORE
instead of write/writev + setsockopt TCP_CORK
2014-10-07 13:43:50 +00:00
leitner
39e7ee90bb introduce io_eagain_read and io_eagain_write (discontinue using io_eagain plz) 2014-06-05 20:43:01 +00:00
leitner
d9cbb3940c it turns out you don't need -1/EGAIN to know edge triggering told you
there is no more data, it's enough to read/write less than you asked for
2014-06-05 19:17:24 +00:00
leitner
a544abc39c switch io_fds from array to newly implemented (hopefully thread-safe) iarray
switch epoll from level triggering to edge triggering
2014-04-04 18:11:03 +00:00
leitner
8b17690318 use callback based infrastructure to reset iob's 2007-10-17 13:25:44 +00:00
leitner
527efc70b6 add iob_addbuf_munmap 2007-10-17 13:06:56 +00:00
leitner
83c1186870 fix for NetBSD 3.0 (they broke their sys/types.h)
remove support for ip6.int reverse lookup in DNS routines (the domain is
no longer delegated)
2006-06-23 03:53:16 +00:00
leitner
c1c50c7dbd further Windoze support (test/io5.c works, gatling still doesn't)
This is just to get gatling to work, I may remove it again after
    that.
2005-09-09 22:12:23 +00:00
leitner
c874604f12 gcc 4 cleanups (mostly unsigned char* vs char*) 2005-04-23 15:50:16 +00:00
leitner
b48ce77792 add iob_write (to write an io batch through a callback) 2004-11-25 22:55:46 +00:00
leitner
f4108178f2 fix case where iob_send sends all from io batch, but then new data is
added and iob_send is called again
2004-07-21 16:35:31 +00:00
leitner
523f6f4765 cosmetics: use write instead of writev if there is only one buffer to
write (looks nicer in strace)
2004-07-21 16:00:47 +00:00
leitner
3996ade63e add iob_addfile_close (iob_reset will close the files) 2004-02-25 02:22:54 +00:00
leitner
4eed466fbc writev fix 2004-01-30 12:47:28 +00:00
leitner
f21e1c57a3 macos x support 2004-01-08 17:11:08 +00:00
leitner
8f188cc95b macos x support 2004-01-08 17:11:08 +00:00
leitner
2a516c901a recent change corrected sendfile parameters but not internal usage 2004-01-07 18:54:43 +00:00
leitner
fa476a9200 add experimental prefetching support 2004-01-07 15:58:44 +00:00
leitner
f52aa87441 more alloca fixes 2004-01-06 23:35:06 +00:00
leitner
876738bd8e make cast nicer 2004-01-06 23:01:02 +00:00
leitner
6622288c7c make BSD sendfile actually work 2003-11-07 00:27:50 +00:00
leitner
ba849a2720 duh!!! Typo prevented iob_send from using FreeBSD sendfile 2003-11-07 00:14:27 +00:00
leitner
2e1da4790c alloca may be defined in stdlib.h 2003-10-07 16:30:19 +00:00
leitner
d00a672dad alloca warning removal 2003-10-07 16:28:57 +00:00
leitner
0c64df2331 make BSD sendfile optional (NetBSD doesn't have it) 2003-10-06 01:54:49 +00:00
leitner
91368629ad two internal structures were named io_entry; renamed the iob one to iob_entry 2003-09-26 15:55:44 +00:00
leitner
3ec95df805 can't happen error should be -3 not -1 2003-09-24 23:36:00 +00:00
leitner
e86a457f5c harmonize semantics of io_sendfile and iob_send 2003-09-19 15:26:00 +00:00
leitner
2a2e1ddc75 add sigio support
extend code to cope with edge triggered event notification
add io_eagain() so that you can notify io_wait if accept() returned EAGAIN
2003-09-12 22:03:51 +00:00
leitner
ea8e1cc90b add iob_adds
add cookies to io
2003-09-10 00:28:51 +00:00
leitner
6b59c8aee7 add TCP_CORK support 2003-09-08 20:58:40 +00:00
leitner
8fd1875041 make iob_send return aggregate total 2003-09-08 20:52:00 +00:00
leitner
3c4f34b95e add loop 2003-09-08 20:48:08 +00:00
leitner
63ba06c763 add iob test 2003-09-08 20:32:43 +00:00
leitner
a36316a0a5 bsd sendfile 2003-09-08 20:31:41 +00:00
leitner
7e7f07f382 alloca.h 2003-09-08 20:31:01 +00:00
leitner
4c2fb93a53 experimental io_batch implementation 2003-09-08 20:29:39 +00:00