code: func (pool *serverPool) connect(p *peer, node *enode.Node) *poolEntry {
  	log.Debug("Connect new entry", "enode", p.id)
  	req := &connReq{p: p, node: node, result: make(chan *poolEntry, 1)}
  	select {
  	case pool.connCh <- req:
  	case <-pool.quit:
  		return nil
  	}
  	return <-req.result
  }
docs: // connect should be called upon any incoming connection. If the connection has been
  // dialed by the server pool recently, the appropriate pool entry is returned.
  // Otherwise, the connection should be rejected.
  // Note that whenever a connection has been accepted and a pool entry has been returned,
  // disconnect should also always be called.