cloudflare / tableflip

Graceful process restarts in Go
BSD 3-Clause "New" or "Revised" License
2.91k stars 148 forks source link

Allow the usage of a callback for Listen and ListenPacket #56

Closed jdesgats closed 4 years ago

jdesgats commented 4 years ago

The ListenConfig approach added recently works well if all the connections are similar, but when different configs are required for specific connections, it quickly gets very cumbersome to use.

This new approach allows arbitrary callbacks to be used for each connection.

Note that this approach (as well as the ListenConfig one) have one drawback: if the connection customization logic changes, from one version to the next, the listening sockets will still be inherited and untouched. In this case a full service restart is necessary as the code doesn't attempt to cope with this situation.