cmd/strelaysrv: Smaller, adjustable network buffer

This commit is contained in:
Jakob Borg 2017-08-30 18:52:28 +02:00
parent 33ffb07d31
commit 70d121a94b
2 changed files with 9 additions and 7 deletions

View File

@ -70,6 +70,7 @@ var (
descriptorLimit int64 descriptorLimit int64
sessionLimiter *rate.Limiter sessionLimiter *rate.Limiter
globalLimiter *rate.Limiter globalLimiter *rate.Limiter
networkBufferSize int
statusAddr string statusAddr string
poolAddrs string poolAddrs string
@ -108,6 +109,7 @@ func main() {
flag.IntVar(&natRenewal, "nat-renewal", 30, "NAT renewal frequency in minutes") flag.IntVar(&natRenewal, "nat-renewal", 30, "NAT renewal frequency in minutes")
flag.IntVar(&natTimeout, "nat-timeout", 10, "NAT discovery timeout in seconds") flag.IntVar(&natTimeout, "nat-timeout", 10, "NAT discovery timeout in seconds")
flag.BoolVar(&pprofEnabled, "pprof", false, "Enable the built in profiling on the status server") flag.BoolVar(&pprofEnabled, "pprof", false, "Enable the built in profiling on the status server")
flag.IntVar(&networkBufferSize, "network-buffer", 2048, "Network buffer size (two of these per proxied connection)")
flag.Parse() flag.Parse()
if extAddress == "" { if extAddress == "" {

View File

@ -254,7 +254,7 @@ func (s *session) proxy(c1, c2 net.Conn) error {
atomic.AddInt64(&numProxies, 1) atomic.AddInt64(&numProxies, 1)
defer atomic.AddInt64(&numProxies, -1) defer atomic.AddInt64(&numProxies, -1)
buf := make([]byte, 65536) buf := make([]byte, networkBufferSize)
for { for {
c1.SetReadDeadline(time.Now().Add(networkTimeout)) c1.SetReadDeadline(time.Now().Add(networkTimeout))
n, err := c1.Read(buf) n, err := c1.Read(buf)