code: func (r *referencedNetworkEndpoint) tryIncRef() bool {
  	for {
  		v := atomic.LoadInt32(&r.refs)
  		if v == 0 {
  			return false
  		}
  
  		if atomic.CompareAndSwapInt32(&r.refs, v, v+1) {
  			return true
  		}
  	}
  }
docs: // tryIncRef attempts to increment the ref count from n to n+1, but only if n is
  // not zero. That is, it will increment the count if the endpoint is still
  // alive, and do nothing if it has already been clean up.