45 Commits (9889bf3d70bd140e06e1624e1a445c22b51a0eae)

Author SHA1 Message Date
leitner 45f99bbd0a in io_eagain, make sure the kernel knows we wanted to write to the
descriptor in case we optimized the syscall away previously
in iob_send leave loop if we got a partial write
4 years ago
leitner f4cd377378 fix out of bounds memory access 4 years ago
leitner 86e596b870 limit iovec size for sendmsg code path to 50 4 years ago
leitner 8b0450cd29 some old glibc may define MSG_ZEROCOPY but not SO_ZEROCOPY :-( 5 years ago
leitner e4a2f4d068 compile if MSG_ZEROCOPY is not defined by libc 7 years ago
leitner f8c4132df0 add MSG_ZEROCOPY support (only used for buffers >8k) 7 years ago
leitner 7bdc1b29bb a few missing headers and minor fixes
fix corking behavior for the case where a buffer follows a buffer in
iob_send
9 years ago
leitner 193dfba16b remove compiler warning 10 years ago
leitner 953eb639b2 on Linux, save a few syscalls by using sendto/sendmsg with MSG_MORE
instead of write/writev + setsockopt TCP_CORK
10 years ago
leitner 39e7ee90bb introduce io_eagain_read and io_eagain_write (discontinue using io_eagain plz) 11 years ago
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
11 years ago
leitner a544abc39c switch io_fds from array to newly implemented (hopefully thread-safe) iarray
switch epoll from level triggering to edge triggering
11 years ago
leitner 8b17690318 use callback based infrastructure to reset iob's 17 years ago
leitner 527efc70b6 add iob_addbuf_munmap 17 years ago
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)
19 years ago
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.
19 years ago
leitner c874604f12 gcc 4 cleanups (mostly unsigned char* vs char*) 20 years ago
leitner b48ce77792 add iob_write (to write an io batch through a callback) 20 years ago
leitner f4108178f2 fix case where iob_send sends all from io batch, but then new data is
added and iob_send is called again
21 years ago
leitner 523f6f4765 cosmetics: use write instead of writev if there is only one buffer to
write (looks nicer in strace)
21 years ago
leitner 3996ade63e add iob_addfile_close (iob_reset will close the files) 21 years ago
leitner 4eed466fbc writev fix 21 years ago
leitner f21e1c57a3 macos x support 21 years ago
leitner 8f188cc95b macos x support 21 years ago
leitner 2a516c901a recent change corrected sendfile parameters but not internal usage 21 years ago
leitner fa476a9200 add experimental prefetching support 21 years ago
leitner f52aa87441 more alloca fixes 21 years ago
leitner 876738bd8e make cast nicer 21 years ago
leitner 6622288c7c make BSD sendfile actually work 21 years ago
leitner ba849a2720 duh!!! Typo prevented iob_send from using FreeBSD sendfile 21 years ago
leitner 2e1da4790c alloca may be defined in stdlib.h 21 years ago
leitner d00a672dad alloca warning removal 21 years ago
leitner 0c64df2331 make BSD sendfile optional (NetBSD doesn't have it) 21 years ago
leitner 91368629ad two internal structures were named io_entry; renamed the iob one to iob_entry 21 years ago
leitner 3ec95df805 can't happen error should be -3 not -1 21 years ago
leitner e86a457f5c harmonize semantics of io_sendfile and iob_send 21 years ago
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
22 years ago
leitner ea8e1cc90b add iob_adds
add cookies to io
22 years ago
leitner 6b59c8aee7 add TCP_CORK support 22 years ago
leitner 8fd1875041 make iob_send return aggregate total 22 years ago
leitner 3c4f34b95e add loop 22 years ago
leitner 63ba06c763 add iob test 22 years ago
leitner a36316a0a5 bsd sendfile 22 years ago
leitner 7e7f07f382 alloca.h 22 years ago
leitner 4c2fb93a53 experimental io_batch implementation 22 years ago