code: func (p *Conn) RemoteAddr() net.Addr {
  	p.checkPrefixOnce()
  	if p.srcAddr != nil && !p.useConnAddr {
  		return p.srcAddr
  	}
  	return p.conn.RemoteAddr()
  }
docs: // RemoteAddr returns the address of the client if the proxy
  // protocol is being used, otherwise just returns the address of
  // the socket peer. If there is an error parsing the header, the
  // address of the client is not returned, and the socket is closed.
  // Once implication of this is that the call could block if the
  // client is slow. Using a Deadline is recommended if this is called
  // before Read()