1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2024-07-20 12:14:15 -04:00
v2fly/transport/internet/ws/stopablehttplistener.go

30 lines
491 B
Go
Raw Normal View History

2016-08-15 06:16:54 -04:00
package ws
import (
"errors"
"net"
)
type StoppableListener struct {
2016-08-15 09:36:37 -04:00
net.Listener //Wrapped listener
2016-08-15 06:16:54 -04:00
}
func NewStoppableListener(l net.Listener) (*StoppableListener, error) {
retval := &StoppableListener{}
2016-08-15 09:19:15 -04:00
retval.Listener = l
2016-08-15 06:16:54 -04:00
return retval, nil
}
var StoppedError = errors.New("Listener stopped")
func (sl *StoppableListener) Accept() (net.Conn, error) {
2016-08-15 09:36:37 -04:00
newConn, err := sl.Listener.Accept()
return newConn, err
2016-08-15 06:16:54 -04:00
}
func (sl *StoppableListener) Stop() {
2016-08-15 09:36:37 -04:00
sl.Listener.Close()
2016-08-15 06:16:54 -04:00
}