1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2024-07-08 14:24:36 -04:00
v2fly/transport/internet/ws/stopablehttplistener.go
2016-08-15 21:36:37 +08:00

30 lines
491 B
Go

package ws
import (
"errors"
"net"
)
type StoppableListener struct {
net.Listener //Wrapped listener
}
func NewStoppableListener(l net.Listener) (*StoppableListener, error) {
retval := &StoppableListener{}
retval.Listener = l
return retval, nil
}
var StoppedError = errors.New("Listener stopped")
func (sl *StoppableListener) Accept() (net.Conn, error) {
newConn, err := sl.Listener.Accept()
return newConn, err
}
func (sl *StoppableListener) Stop() {
sl.Listener.Close()
}