tcplisten icon indicating copy to clipboard operation
tcplisten copied to clipboard

Customizable TCP net.Listener for Go

Build Status GoDoc Go Report

Package tcplisten provides customizable TCP net.Listener with various performance-related options:

  • SO_REUSEPORT. This option allows linear scaling server performance on multi-CPU servers. See https://www.nginx.com/blog/socket-sharding-nginx-release-1-9-1/ for details.

  • TCP_DEFER_ACCEPT. This option expects the server reads from the accepted connection before writing to them.

  • TCP_FASTOPEN. See https://lwn.net/Articles/508865/ for details.

Documentation.

The package is derived from go_reuseport.