Master Core  v0.0.9 - 2abfd2849db8ba7a83957c64eb976b406713c123
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
CAddrMan Member List

This is the complete list of members for CAddrMan, including all inherited members.

Add(const CAddress &addr, const CNetAddr &source, int64_t nTimePenalty=0)CAddrManinline
Add(const std::vector< CAddress > &vAddr, const CNetAddr &source, int64_t nTimePenalty=0)CAddrManinline
Add_(const CAddress &addr, const CNetAddr &source, int64_t nTimePenalty)CAddrManprotected
Attempt(const CService &addr, int64_t nTime=GetAdjustedTime())CAddrManinline
Attempt_(const CService &addr, int64_t nTime)CAddrManprotected
Check()CAddrManinline
Connected(const CService &addr, int64_t nTime=GetAdjustedTime())CAddrManinline
Connected_(const CService &addr, int64_t nTime)CAddrManprotected
Create(const CAddress &addr, const CNetAddr &addrSource, int *pnId=NULL)CAddrManprotected
csCAddrManmutableprivate
Find(const CNetAddr &addr, int *pnId=NULL)CAddrManprotected
GetAddr()CAddrManinline
GetAddr_(std::vector< CAddress > &vAddr)CAddrManprotected
Good(const CService &addr, int64_t nTime=GetAdjustedTime())CAddrManinline
Good_(const CService &addr, int64_t nTime)CAddrManprotected
IMPLEMENT_SERIALIZE(({{LOCK(cs);unsigned char nVersion=0;READWRITE(nVersion);READWRITE(nKey);READWRITE(nNew);READWRITE(nTried);CAddrMan *am=const_cast< CAddrMan * >(this);if(fWrite){int nUBuckets=ADDRMAN_NEW_BUCKET_COUNT;READWRITE(nUBuckets);std::map< int, int > mapUnkIds;int nIds=0;for(std::map< int, CAddrInfo >::iterator it=am->mapInfo.begin();it!=am->mapInfo.end();it++){if(nIds==nNew) break;mapUnkIds[(*it).first]=nIds;CAddrInfo &info=(*it).second;if(info.nRefCount){READWRITE(info);nIds++;}}nIds=0;for(std::map< int, CAddrInfo >::iterator it=am->mapInfo.begin();it!=am->mapInfo.end();it++){if(nIds==nTried) break;CAddrInfo &info=(*it).second;if(info.fInTried){READWRITE(info);nIds++;}}for(std::vector< std::set< int > >::iterator it=am->vvNew.begin();it!=am->vvNew.end();it++){const std::set< int > &vNew=(*it);int nSize=vNew.size();READWRITE(nSize);for(std::set< int >::iterator it2=vNew.begin();it2!=vNew.end();it2++){int nIndex=mapUnkIds[*it2];READWRITE(nIndex);}}}else{int nUBuckets=0;READWRITE(nUBuckets);am->nIdCount=0;am->mapInfo.clear();am->mapAddr.clear();am->vRandom.clear();am->vvTried=std::vector< std::vector< int > >(ADDRMAN_TRIED_BUCKET_COUNT, std::vector< int >(0));am->vvNew=std::vector< std::set< int > >(ADDRMAN_NEW_BUCKET_COUNT, std::set< int >());for(int n=0;n< am->nNew;n++){CAddrInfo &info=am->mapInfo[n];READWRITE(info);am->mapAddr[info]=n;info.nRandomPos=vRandom.size();am->vRandom.push_back(n);if(nUBuckets!=ADDRMAN_NEW_BUCKET_COUNT){am->vvNew[info.GetNewBucket(am->nKey)].insert(n);info.nRefCount++;}}am->nIdCount=am->nNew;int nLost=0;for(int n=0;n< am->nTried;n++){CAddrInfo info;READWRITE(info);std::vector< int > &vTried=am->vvTried[info.GetTriedBucket(am->nKey)];if(vTried.size()< ADDRMAN_TRIED_BUCKET_SIZE){info.nRandomPos=vRandom.size();info.fInTried=true;am->vRandom.push_back(am->nIdCount);am->mapInfo[am->nIdCount]=info;am->mapAddr[info]=am->nIdCount;vTried.push_back(am->nIdCount);am->nIdCount++;}else{nLost++;}}am->nTried-=nLost;for(int b=0;b< nUBuckets;b++){std::set< int > &vNew=am->vvNew[b];int nSize=0;READWRITE(nSize);for(int n=0;n< nSize;n++){int nIndex=0;READWRITE(nIndex);CAddrInfo &info=am->mapInfo[nIndex];if(nUBuckets==ADDRMAN_NEW_BUCKET_COUNT &&info.nRefCount< ADDRMAN_NEW_BUCKETS_PER_ADDRESS){info.nRefCount++;vNew.insert(nIndex);}}}}}});) CAddrMan()CAddrManinline
MakeTried(CAddrInfo &info, int nId, int nOrigin)CAddrManprotected
mapAddrCAddrManprivate
mapInfoCAddrManprivate
nIdCountCAddrManprivate
nKeyCAddrManprivate
nNewCAddrManprivate
nTriedCAddrManprivate
Select(int nUnkBias=50)CAddrManinline
Select_(int nUnkBias)CAddrManprotected
SelectTried(int nKBucket)CAddrManprotected
ShrinkNew(int nUBucket)CAddrManprotected
size()CAddrManinline
SwapRandom(unsigned int nRandomPos1, unsigned int nRandomPos2)CAddrManprotected
vRandomCAddrManprivate
vvNewCAddrManprivate
vvTriedCAddrManprivate