public bool TreeCallback(int proxyId)
{
// log.debug("Got a proxy back: " + proxyId);
// A proxy cannot form a pair with itself.
if (proxyId == m_queryProxyId)
{
// log.debug("It was us...");
return true;
}
// Grow the pair buffer as needed.
if (m_pairCount == m_pairCapacity)
{
var oldBuffer = m_pairBuffer;
m_pairCapacity *= 2;
m_pairBuffer = new Pair[m_pairCapacity];
Array.Copy(oldBuffer, 0, m_pairBuffer, 0, oldBuffer.Length);
for (int i = oldBuffer.Length; i < m_pairCapacity; i++)
{
m_pairBuffer[i] = new Pair();
}
}
if (proxyId < m_queryProxyId)
{
// log.debug("new proxy is first");
m_pairBuffer[m_pairCount].ProxyIdA = proxyId;
m_pairBuffer[m_pairCount].ProxyIdB = m_queryProxyId;
}
else
{
// log.debug("new proxy is second");
m_pairBuffer[m_pairCount].ProxyIdA = m_queryProxyId;
m_pairBuffer[m_pairCount].ProxyIdB = proxyId;
}
++m_pairCount;
return true;
}