gvisor/pkg/tcpip
Bhasker Hariharan 3d71c627fa Add support for TCP receive buffer auto tuning.
The implementation is similar to linux where we track the number of bytes
consumed by the application to grow the receive buffer of a given TCP endpoint.

This ensures that the advertised window grows at a reasonable rate to accomodate
for the sender's rate and prevents large amounts of data being held in stack
buffers if the application is not actively reading or not reading fast enough.

The original paper that was used to implement the linux receive buffer auto-
tuning is available @ https://public.lanl.gov/radiant/pubs/drs/lacsi2001.pdf

NOTE: Linux does not implement DRS as defined in that paper, it's just a good
reference to understand the solution space.

Updates #230

PiperOrigin-RevId: 253168283
2019-06-13 22:28:01 -07:00
..
adapters/gonet Update canonical repository. 2019-06-13 16:50:15 -07:00
buffer Update canonical repository. 2019-06-13 16:50:15 -07:00
checker Update canonical repository. 2019-06-13 16:50:15 -07:00
hash/jenkins Update canonical repository. 2019-06-13 16:50:15 -07:00
header Update canonical repository. 2019-06-13 16:50:15 -07:00
link Update canonical repository. 2019-06-13 16:50:15 -07:00
network Update canonical repository. 2019-06-13 16:50:15 -07:00
ports Update canonical repository. 2019-06-13 16:50:15 -07:00
sample Update canonical repository. 2019-06-13 16:50:15 -07:00
seqnum Update canonical repository. 2019-06-13 16:50:15 -07:00
stack Add support for TCP receive buffer auto tuning. 2019-06-13 22:28:01 -07:00
transport Add support for TCP receive buffer auto tuning. 2019-06-13 22:28:01 -07:00
BUILD Update canonical repository. 2019-06-13 16:50:15 -07:00
tcpip.go Add support for TCP receive buffer auto tuning. 2019-06-13 22:28:01 -07:00
tcpip_test.go Change copyright notice to "The gVisor Authors" 2019-04-29 14:26:23 -07:00
time.s Change copyright notice to "The gVisor Authors" 2019-04-29 14:26:23 -07:00
time_unsafe.go Add build guard to files using go:linkname 2019-05-30 12:09:39 -07:00