本文整理汇总了C++中CUInt128::SetValueRandom方法的典型用法代码示例。如果您正苦于以下问题:C++ CUInt128::SetValueRandom方法的具体用法?C++ CUInt128::SetValueRandom怎么用?C++ CUInt128::SetValueRandom使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CUInt128
的用法示例。
在下文中一共展示了CUInt128::SetValueRandom方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: FindNodeFWCheckUDP
bool CSearchManager::FindNodeFWCheckUDP(){
CancelNodeFWCheckUDPSearch();
CUInt128 uID;
uID.SetValueRandom();
DebugLog(_T("Starting NODEFWCHECKUDP Kad Search"));
CSearch *pSearch = new CSearch;
pSearch->m_uType = CSearch::NODEFWCHECKUDP;
pSearch->m_uTarget = uID;
return StartSearch(pSearch);
}
示例2: Process
void CKademlia::Process()
{
if( m_pInstance == NULL || !m_bRunning)
return;
bool bUpdateUserFile = false;
uint32 uMaxUsers = 0;
uint32 uTempUsers = 0;
uint32 uLastContact = 0;
time_t tNow = time(NULL);
ASSERT(m_pInstance->m_pPrefs != NULL);
uLastContact = m_pInstance->m_pPrefs->GetLastContact();
CSearchManager::UpdateStats();
if( m_tStatusUpdate <= tNow )
{
bUpdateUserFile = true;
m_tStatusUpdate = MIN2S(1) + tNow;
#ifdef _BOOTSTRAPNODESDAT
// do some random lookup to fill out contact list with fresh (but for routing useless) nodes which we can
// use for our bootstrap nodes.dat
if (GetRoutingZone()->GetNumContacts() < 1500)
{
CUInt128 uRandom;
uRandom.SetValueRandom();
CSearchManager::FindNode(uRandom, false);
}
#endif
}
if( m_tNextFirewallCheck <= tNow)
RecheckFirewalled();
if (m_tNextUPnPCheck != 0 && m_tNextUPnPCheck <= tNow)
{
theApp.emuledlg->RefreshUPnP();
m_tNextUPnPCheck = 0; // will be reset on firewallcheck
}
if (m_tNextSelfLookup <= tNow)
{
CSearchManager::FindNode(m_pInstance->m_pPrefs->GetKadID(), true);
m_tNextSelfLookup = HR2S(4) + tNow;
}
if (m_tNextFindBuddy <= tNow)
{
m_pInstance->m_pPrefs->SetFindBuddy();
m_tNextFindBuddy = MIN2S(20) + tNow;
}
if (m_tExternPortLookup <= tNow && CUDPFirewallTester::IsFWCheckUDPRunning() && GetPrefs()->FindExternKadPort(false)){
// if our UDP firewallcheck is running and we don't know our external port, we send a request every 15 seconds
CContact* pContact = GetRoutingZone()->GetRandomContact(3, KADEMLIA_VERSION6_49aBETA);
if (pContact != NULL){
DEBUG_ONLY( DebugLog(_T("Requesting our external port from %s"), ipstr(ntohl(pContact->GetIPAddress()))) );
GetUDPListener()->SendNullPacket(KADEMLIA2_PING, pContact->GetIPAddress(), pContact->GetUDPPort(), pContact->GetUDPKey(), &pContact->GetClientID());
}
else
DEBUG_ONLY( DebugLogWarning(_T("No valid client for requesting external port available")) );
m_tExternPortLookup = 15 + tNow;
}
for (EventMap::const_iterator itEventMap = m_mapEvents.begin(); itEventMap != m_mapEvents.end(); ++itEventMap)
{
CRoutingZone* pZone = itEventMap->first;
if( bUpdateUserFile )
{
// The EstimateCount function is not made for really small networks, if we are in LAN mode, it is actually
// better to assume that all users of the network are in our routingtable and use the real count function
if (IsRunningInLANMode())
uTempUsers = pZone->GetNumContacts();
else
uTempUsers = pZone->EstimateCount();
if( uMaxUsers < uTempUsers )
uMaxUsers = uTempUsers;
}
if (m_tBigTimer <= tNow)
{
if( pZone->m_tNextBigTimer <= tNow )
{
if(pZone->OnBigTimer())
{
pZone->m_tNextBigTimer = HR2S(1) + tNow;
m_tBigTimer = SEC(10) + tNow;
}
}
else
{
if( uLastContact && ( (tNow - uLastContact) > (KADEMLIADISCONNECTDELAY-MIN2S(5))))
{
if(pZone->OnBigTimer())
{
pZone->m_tNextBigTimer = HR2S(1) + tNow;
m_tBigTimer = SEC(10) + tNow;
}
}
}
}
if (pZone->m_tNextSmallTimer <= tNow)
{
pZone->OnSmallTimer();
pZone->m_tNextSmallTimer = MIN2S(1) + tNow;
}
}
// This is a convenient place to add this, although not related to routing
//.........这里部分代码省略.........