leitner
|
e394b3cb06
|
silence warnings under bsd
|
8 months ago |
leitner
|
444c36f3e8
|
silence clang static analyzer
|
2 years ago |
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 |