An example of a stoppable TCP listener in Go. This library wraps an existing TCP connection object. A goroutine calling Accept()
is interrupted with StoppedError
whenever the listener is stopped by a call to Stop()
. Usage is demonstrated below, and in example/example.go
.
originalListener, err := net.Listen("tcp", ":8080") if err != nil { panic(err) } sl, err := stoppableListener.New(originalListener) if err != nil { panic(err) }