code: func (p *Peer) UserAgent() string {
  	p.flagsMtx.Lock()
  	userAgent := p.userAgent
  	p.flagsMtx.Unlock()
  
  	return userAgent
  }
docs: // UserAgent returns the user agent of the remote peer.
  //
  // This function is safe for concurrent access.