in mux.go [304:315]
func (m *mux) handleGRPC(_ *http.Server, conn net.Conn, closed <-chan struct{}, _ http.Handler) error {
select {
case <-m.grpcListener.closed:
return errors.New("grpc listener closed")
case m.grpcListener.conns <- conn:
case <-closed:
// Connection closed before it could be handled.
return nil
}
<-closed
return nil
}