code: func (s *Server) closeConnChan(c net.Conn, done chan<- struct{}) {
  	c.Close()
  	if done != nil {
  		done <- struct{}{}
  	}
  }
docs: // closeConnChan is like closeConn, but takes an optional channel to receive a value
  // when the goroutine closing c is done.