mirror of
https://github.com/3proxy/3proxy.git
synced 2026-10-12 18:26:57 +00:00
-s takes the directions to splice: -s1 what the server sends (downloads), -s2 what the client sends (uploads), -s3 both. -s alone (-s7) splices both only where it pays, as -s5 and -s6 do for one direction: - a body of known length is spliced if at least 16K of it is left to read once what is already buffered is counted, so an answer read whole with its headers is just copied; - a stream of unknown length starts copied, is spliced after 2 reads in a row of at least 16K, and goes back to copying after 3 splices in a row of less than 4K, once its pipe is empty. Pipes are made when a direction first splices and kept with the connection for its next mappings, so a kept-alive connection no longer makes and closes two pipes per request; one left holding data by an error or a timeout is closed. The direction not spliced keeps its buffer. Before, -s spliced both directions and every mapping made both pipes, which made small answers slower than without splice: with kept-alive 50K answers 2 pipe2() and 4 close() per request, now none. Also corrects the default buffer size in the -b help (65536 for TCP). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| 3proxy.8 | ||
| 3proxy.cfg.5 | ||
| 3proxy_crypt.8 | ||
| ftppr.8 | ||
| imapp.8 | ||
| pop3p.8 | ||
| proxy.8 | ||
| smtpp.8 | ||
| socks.8 | ||
| tcppm.8 | ||
| tlspr.8 | ||
| udppm.8 | ||