code: func (nc *Conn) processPong() {
  	var ch chan struct{}
  
  	nc.mu.Lock()
  	if len(nc.pongs) > 0 {
  		ch = nc.pongs[0]
  		nc.pongs = nc.pongs[1:]
  	}
  	nc.pout = 0
  	nc.mu.Unlock()
  	if ch != nil {
  		ch <- struct{}{}
  	}
  }
docs: // processPong is used to process responses to the client's ping
  // messages. We use pings for the flush mechanism as well.