Shelikhoo преди 9 години
родител
ревизия
856f2a2dd3
променени са 1 файла, в които са добавени 10 реда и са изтрити 13 реда
  1. 10 13
      transport/internet/ws/stopablehttplistener.go

+ 10 - 13
transport/internet/ws/stopablehttplistener.go

@@ -3,23 +3,23 @@ package ws
 import (
 	"errors"
 	"net"
-	"time"
 )
 
 type StoppableListener struct {
-	*net.TCPListener          //Wrapped listener
-	stop             chan int //Channel used only to indicate listener should shutdown
+	net.Listener          //Wrapped listener
+	stop         chan int //Channel used only to indicate listener should shutdown
 }
 
 func NewStoppableListener(l net.Listener) (*StoppableListener, error) {
-	tcpL, ok := l.(*net.TCPListener)
-
-	if !ok {
-		return nil, errors.New("Cannot wrap listener")
-	}
+	/*
+		tcpL, ok := l.(*net.TCPListener)
 
+		if !ok {
+			return nil, errors.New("Cannot wrap listener")
+		}
+	*/
 	retval := &StoppableListener{}
-	retval.TCPListener = tcpL
+	retval.Listener = l
 	retval.stop = make(chan int)
 
 	return retval, nil
@@ -30,10 +30,7 @@ var StoppedError = errors.New("Listener stopped")
 func (sl *StoppableListener) Accept() (net.Conn, error) {
 
 	for {
-		//Wait up to one second for a new connection
-		sl.SetDeadline(time.Now().Add(time.Second))
-
-		newConn, err := sl.TCPListener.Accept()
+		newConn, err := sl.Listener.Accept()
 
 		//Check for the channel being closed
 		select {