code: func ServeConn(c net.Conn, handler RequestHandler) error {
  	v := serverPool.Get()
  	if v == nil {
  		v = &Server{}
  	}
  	s := v.(*Server)
  	s.Handler = handler
  	err := s.ServeConn(c)
  	s.Handler = nil
  	serverPool.Put(v)
  	return err
  }
docs: // ServeConn serves HTTP requests from the given connection
  // using the given handler.
  //
  // ServeConn returns nil if all requests from the c are successfully served.
  // It returns non-nil error otherwise.
  //
  // Connection c must immediately propagate all the data passed to Write()
  // to the client. Otherwise requests' processing may hang.
  //
  // ServeConn closes c before returning.