derp: reduce DERP memory use; don't require callers to pass in memory to use

The magicsock derpReader was holding onto 65KB for each DERP
connection forever, just in case.

Make the derp{,http}.Client be in charge of memory instead. It can
reuse its bufio.Reader buffer space.
This commit is contained in:
Brad Fitzpatrick
2020-06-15 10:26:50 -07:00
parent 15a23ce65f
commit abd79ea368
6 changed files with 62 additions and 30 deletions

View File

@@ -118,8 +118,7 @@ func runMeshClient(s *derp.Server, host string, c *derphttp.Client, logf logger.
return
}
for {
var buf [64 << 10]byte
m, connGen, err := c.RecvDetail(buf[:])
m, connGen, err := c.RecvDetail()
if err != nil {
clear()
logf("Recv: %v", err)