Go to file
Timo Teräs 271047cc93 libfetch: support TCP_CORK
Unfortunately libfetch operates on raw sockets and is sending
each HTTP request line using separate syscall which causes the
HTTP request to be sent as multiple packets over the wire in most
configurations. This is not good for performance, but can also
cause subtle breakage if there's DPI firewall that does not get
the Host header.

Incidentally, it seems that on BSDs libfetch already sets
TCP_NOPUSH optimize the packetization. This commit adds same
logic for using TCP_CORK if available. When using TCP_CORK
there is no requirement to set TCP_NODELAY as uncorking will
also cause immediate send. Keep TCP_NODELAY in the fallback
codepaths.

Long term, it might make sense to replace or rewrite libfetch
to use application level buffering.
2020-02-18 15:36:01 +02:00
doc convert man page makefile to make.rules format 2020-01-26 11:47:05 +02:00
libfetch libfetch: support TCP_CORK 2020-02-18 15:36:01 +02:00
src fix murmur3 hash unaligned memory access 2020-02-17 21:36:28 +02:00
test remove tests connected to help output validation 2020-01-26 11:55:51 +02:00
.gitignore .gitignore: add compiled man pages 2020-01-26 09:01:26 +02:00
.gitlab-ci.yml lua: fix build and update to lua5.3 2019-12-30 16:17:14 +02:00
.mailmap add .mailmap to consolidate git shortlog 2018-09-10 09:19:01 +03:00
AUTHORS Initial commit of some stuff written so far. Still in state of flux. Expect 2008-04-17 14:09:13 +00:00
Make.rules build: separate subdirs out from targets 2020-01-26 11:52:56 +02:00
Makefile build: separate subdirs out from targets 2020-01-26 11:52:56 +02:00
NEWS Initial commit of some stuff written so far. Still in state of flux. Expect 2008-04-17 14:09:13 +00:00
README Initial commit of some stuff written so far. Still in state of flux. Expect 2008-04-17 14:09:13 +00:00

README