summaryrefslogtreecommitdiff
path: root/pkg/listenbuffer/buffer.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/listenbuffer/buffer.go')
-rw-r--r--pkg/listenbuffer/buffer.go27
1 files changed, 6 insertions, 21 deletions
diff --git a/pkg/listenbuffer/buffer.go b/pkg/listenbuffer/buffer.go
index c350805a7d..17572c8a0e 100644
--- a/pkg/listenbuffer/buffer.go
+++ b/pkg/listenbuffer/buffer.go
@@ -5,15 +5,10 @@
*/
package listenbuffer
-import (
- "fmt"
- "net"
- "time"
-)
+import "net"
-// NewListenBuffer returns a listener listening on addr with the protocol. It sets the
-// timeout to wait on first connection before an error is returned
-func NewListenBuffer(proto, addr string, activate chan struct{}, timeout time.Duration) (net.Listener, error) {
+// NewListenBuffer returns a listener listening on addr with the protocol.
+func NewListenBuffer(proto, addr string, activate chan struct{}) (net.Listener, error) {
wrapped, err := net.Listen(proto, addr)
if err != nil {
return nil, err
@@ -22,7 +17,6 @@ func NewListenBuffer(proto, addr string, activate chan struct{}, timeout time.Du
return &defaultListener{
wrapped: wrapped,
activate: activate,
- timeout: timeout,
}, nil
}
@@ -30,7 +24,6 @@ type defaultListener struct {
wrapped net.Listener // the real listener to wrap
ready bool // is the listner ready to start accpeting connections
activate chan struct{}
- timeout time.Duration // how long to wait before we consider this an error
}
func (l *defaultListener) Close() error {
@@ -47,15 +40,7 @@ func (l *defaultListener) Accept() (net.Conn, error) {
if l.ready {
return l.wrapped.Accept()
}
-
- select {
- case <-time.After(l.timeout):
- // close the connection so any clients are disconnected
- l.Close()
- return nil, fmt.Errorf("timeout (%s) reached waiting for listener to become ready", l.timeout.String())
- case <-l.activate:
- l.ready = true
- return l.Accept()
- }
- panic("unreachable")
+ <-l.activate
+ l.ready = true
+ return l.Accept()
}