func (p *Proxy) updateUpstreamRtt(i, rtt int) {
	p.rttLock.Lock()
	defer p.rttLock.Unlock()

	// Set rtt by idx is important cause otherwise rtt will be setted to copy of upstreamWithRtt!
	p.upstreamsWithRtt[i].rtt = (p.upstreamsWithRtt[i].rtt + rtt) / 2
}
// updateUpstreamRtt updates rtt for upstream with i index
updateUpstreamRtt updates rtt for upstream with i index
// updateUpstreamRtt updates rtt for upstream with i index
func (p *Proxy) updateUpstreamRtt(i, rtt int) {
	p.rttLock.Lock()
	defer p.rttLock.Unlock()
	p.upstreamsWithRtt[i].rtt = (p.upstreamsWithRtt[i].rtt + rtt) / 2
}
func ( p * Proxy ) updateUpstreamRtt ( i , rtt int ) { p . rttLock . Lock ( ) defer p . rttLock . Unlock ( ) p . upstreamsWithRtt [ i ] . rtt = ( p . upstreamsWithRtt [ i ] . rtt + rtt ) / 2 }
updateUpstreamRtt updates rtt for upstream with i index
updateUpstreamRtt updates rtt for upstream with i index
// Set rtt by idx is important cause otherwise rtt will be setted to copy of upstreamWithRtt!