func LimitListener(l net.Listener, n int32) net.Listener {
	return &limitListener{l, 0, n, make(chan struct{}, n)}
}
LimitListener returns a Listener that accepts at most n simultaneous
connections from the provided Listener.
package netutil
import (
	"errors"
	"net"
	"sync"
	"sync/atomic"
)
var (
	ErrLimitListener = errors.New("LimitListener: limit")
)