code: func (ep *multiPortEndpoint) selectEndpoint(id TransportEndpointID) TransportEndpoint {
  	ep.mu.RLock()
  	defer ep.mu.RUnlock()
  
  	payload := []byte{
  		byte(id.LocalPort),
  		byte(id.LocalPort >> 8),
  		byte(id.RemotePort),
  		byte(id.RemotePort >> 8),
  	}
  
  	h := jenkins.Sum32(ep.seed)
  	h.Write(payload)
  	h.Write([]byte(id.LocalAddress))
  	h.Write([]byte(id.RemoteAddress))
  	hash := h.Sum32()
  
  	idx := reciprocalScale(hash, uint32(len(ep.endpointsArr)))
  	return ep.endpointsArr[idx]
  }
docs: // selectEndpoint calculates a hash of destination and source addresses and
  // ports then uses it to select a socket. In this case, all packets from one
  // address will be sent to same endpoint.