create pkg/reuseport (#3455)

* create pkg/reuseport

Move the core server listening functions to a new package so plugins can
use them.

Also make *all* servers use the functions here; as only the udp/tcp
listeners where using SO_REUSEPORT (if available). This is the only
actual change in this PR; in it's core it's just a move of 2 files.

This can also be used to cleanup the dance we're doing now for
re-acquiring the sockets in e.g. the metrics plugins and the ready
plugin.

Signed-off-by: Miek Gieben <miek@miek.nl>

* Also push a small doc update

Signed-off-by: Miek Gieben <miek@miek.nl>
This commit is contained in:
Miek Gieben
2019-11-17 02:02:46 +00:00
committed by Yong Tang
parent 4831e7f947
commit e14e053d3d
9 changed files with 64 additions and 49 deletions

View File

@@ -64,6 +64,11 @@ a *Metrics* section detailing the metrics.
If the plugin supports signalling readiness it should have a *Ready* section detailing how it
works, and implement the `ready.Readiness` interface.
## Opening Sockets
See the plugin/pkg/reuseport for `Listen` and `ListenPacket` functions. Using these functions makes
you plugin handle reload events better.
## Documentation
Each plugin should have a README.md explaining what the plugin does and how it is configured. The