mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-12 11:19:08 -05:00
logging: asmap logging and #include fixups
- move asmap #includes to sorted positions in addrman and init (move-only) - remove redundant quotes in asmap InitError, update test - remove full stops from asmap logging to be consistent with debug logging, update tests
This commit is contained in:
parent
dcaf543ba0
commit
819fb5549b
4 changed files with 17 additions and 18 deletions
|
@ -6,8 +6,8 @@
|
||||||
#include <addrman.h>
|
#include <addrman.h>
|
||||||
|
|
||||||
#include <hash.h>
|
#include <hash.h>
|
||||||
#include <serialize.h>
|
|
||||||
#include <logging.h>
|
#include <logging.h>
|
||||||
|
#include <serialize.h>
|
||||||
|
|
||||||
int CAddrInfo::GetTriedBucket(const uint256& nKey, const std::vector<bool> &asmap) const
|
int CAddrInfo::GetTriedBucket(const uint256& nKey, const std::vector<bool> &asmap) const
|
||||||
{
|
{
|
||||||
|
@ -15,7 +15,7 @@ int CAddrInfo::GetTriedBucket(const uint256& nKey, const std::vector<bool> &asma
|
||||||
uint64_t hash2 = (CHashWriter(SER_GETHASH, 0) << nKey << GetGroup(asmap) << (hash1 % ADDRMAN_TRIED_BUCKETS_PER_GROUP)).GetCheapHash();
|
uint64_t hash2 = (CHashWriter(SER_GETHASH, 0) << nKey << GetGroup(asmap) << (hash1 % ADDRMAN_TRIED_BUCKETS_PER_GROUP)).GetCheapHash();
|
||||||
int tried_bucket = hash2 % ADDRMAN_TRIED_BUCKET_COUNT;
|
int tried_bucket = hash2 % ADDRMAN_TRIED_BUCKET_COUNT;
|
||||||
uint32_t mapped_as = GetMappedAS(asmap);
|
uint32_t mapped_as = GetMappedAS(asmap);
|
||||||
LogPrint(BCLog::NET, "IP %s mapped to AS%i belongs to tried bucket %i.\n", ToStringIP(), mapped_as, tried_bucket);
|
LogPrint(BCLog::NET, "IP %s mapped to AS%i belongs to tried bucket %i\n", ToStringIP(), mapped_as, tried_bucket);
|
||||||
return tried_bucket;
|
return tried_bucket;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@ int CAddrInfo::GetNewBucket(const uint256& nKey, const CNetAddr& src, const std:
|
||||||
uint64_t hash2 = (CHashWriter(SER_GETHASH, 0) << nKey << vchSourceGroupKey << (hash1 % ADDRMAN_NEW_BUCKETS_PER_SOURCE_GROUP)).GetCheapHash();
|
uint64_t hash2 = (CHashWriter(SER_GETHASH, 0) << nKey << vchSourceGroupKey << (hash1 % ADDRMAN_NEW_BUCKETS_PER_SOURCE_GROUP)).GetCheapHash();
|
||||||
int new_bucket = hash2 % ADDRMAN_NEW_BUCKET_COUNT;
|
int new_bucket = hash2 % ADDRMAN_NEW_BUCKET_COUNT;
|
||||||
uint32_t mapped_as = GetMappedAS(asmap);
|
uint32_t mapped_as = GetMappedAS(asmap);
|
||||||
LogPrint(BCLog::NET, "IP %s mapped to AS%i belongs to new bucket %i.\n", ToStringIP(), mapped_as, new_bucket);
|
LogPrint(BCLog::NET, "IP %s mapped to AS%i belongs to new bucket %i\n", ToStringIP(), mapped_as, new_bucket);
|
||||||
return new_bucket;
|
return new_bucket;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -630,12 +630,12 @@ std::vector<bool> CAddrMan::DecodeAsmap(fs::path path)
|
||||||
FILE *filestr = fsbridge::fopen(path, "rb");
|
FILE *filestr = fsbridge::fopen(path, "rb");
|
||||||
CAutoFile file(filestr, SER_DISK, CLIENT_VERSION);
|
CAutoFile file(filestr, SER_DISK, CLIENT_VERSION);
|
||||||
if (file.IsNull()) {
|
if (file.IsNull()) {
|
||||||
LogPrintf("Failed to open asmap file from disk.\n");
|
LogPrintf("Failed to open asmap file from disk\n");
|
||||||
return bits;
|
return bits;
|
||||||
}
|
}
|
||||||
fseek(filestr, 0, SEEK_END);
|
fseek(filestr, 0, SEEK_END);
|
||||||
int length = ftell(filestr);
|
int length = ftell(filestr);
|
||||||
LogPrintf("Opened asmap file %s (%d bytes) from disk.\n", path, length);
|
LogPrintf("Opened asmap file %s (%d bytes) from disk\n", path, length);
|
||||||
fseek(filestr, 0, SEEK_SET);
|
fseek(filestr, 0, SEEK_SET);
|
||||||
char cur_byte;
|
char cur_byte;
|
||||||
for (int i = 0; i < length; ++i) {
|
for (int i = 0; i < length; ++i) {
|
||||||
|
|
|
@ -6,23 +6,22 @@
|
||||||
#ifndef BITCOIN_ADDRMAN_H
|
#ifndef BITCOIN_ADDRMAN_H
|
||||||
#define BITCOIN_ADDRMAN_H
|
#define BITCOIN_ADDRMAN_H
|
||||||
|
|
||||||
|
#include <clientversion.h>
|
||||||
#include <netaddress.h>
|
#include <netaddress.h>
|
||||||
#include <protocol.h>
|
#include <protocol.h>
|
||||||
#include <random.h>
|
#include <random.h>
|
||||||
#include <sync.h>
|
#include <sync.h>
|
||||||
#include <timedata.h>
|
#include <timedata.h>
|
||||||
#include <util/system.h>
|
#include <util/system.h>
|
||||||
#include <clientversion.h>
|
|
||||||
|
|
||||||
|
#include <fs.h>
|
||||||
|
#include <hash.h>
|
||||||
|
#include <iostream>
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <set>
|
#include <set>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <vector>
|
|
||||||
#include <iostream>
|
|
||||||
#include <streams.h>
|
#include <streams.h>
|
||||||
#include <fs.h>
|
#include <vector>
|
||||||
#include <hash.h>
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Extended statistics about a CAddress
|
* Extended statistics about a CAddress
|
||||||
|
|
|
@ -47,11 +47,11 @@
|
||||||
#include <txdb.h>
|
#include <txdb.h>
|
||||||
#include <txmempool.h>
|
#include <txmempool.h>
|
||||||
#include <ui_interface.h>
|
#include <ui_interface.h>
|
||||||
|
#include <util/asmap.h>
|
||||||
#include <util/moneystr.h>
|
#include <util/moneystr.h>
|
||||||
#include <util/system.h>
|
#include <util/system.h>
|
||||||
#include <util/threadnames.h>
|
#include <util/threadnames.h>
|
||||||
#include <util/translation.h>
|
#include <util/translation.h>
|
||||||
#include <util/asmap.h>
|
|
||||||
#include <validation.h>
|
#include <validation.h>
|
||||||
#include <hash.h>
|
#include <hash.h>
|
||||||
|
|
||||||
|
@ -1840,14 +1840,14 @@ bool AppInitMain(NodeContext& node)
|
||||||
}
|
}
|
||||||
std::vector<bool> asmap = CAddrMan::DecodeAsmap(asmap_path);
|
std::vector<bool> asmap = CAddrMan::DecodeAsmap(asmap_path);
|
||||||
if (asmap.size() == 0) {
|
if (asmap.size() == 0) {
|
||||||
InitError(strprintf(_("Could not parse asmap file '%s'").translated, asmap_path));
|
InitError(strprintf(_("Could not parse asmap file %s").translated, asmap_path));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
const uint256 asmap_version = SerializeHash(asmap);
|
const uint256 asmap_version = SerializeHash(asmap);
|
||||||
node.connman->SetAsmap(std::move(asmap));
|
node.connman->SetAsmap(std::move(asmap));
|
||||||
LogPrintf("Using asmap version %s for IP bucketing.\n", asmap_version.ToString());
|
LogPrintf("Using asmap version %s for IP bucketing\n", asmap_version.ToString());
|
||||||
} else {
|
} else {
|
||||||
LogPrintf("Using /16 prefix for IP bucketing.\n");
|
LogPrintf("Using /16 prefix for IP bucketing\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
// ********************************************************* Step 13: finished
|
// ********************************************************* Step 13: finished
|
||||||
|
|
|
@ -32,8 +32,8 @@ ASMAP = '../../src/test/data/asmap.raw' # path to unit test skeleton asmap
|
||||||
VERSION = 'fec61fa21a9f46f3b17bdcd660d7f4cd90b966aad3aec593c99b35f0aca15853'
|
VERSION = 'fec61fa21a9f46f3b17bdcd660d7f4cd90b966aad3aec593c99b35f0aca15853'
|
||||||
|
|
||||||
def expected_messages(filename):
|
def expected_messages(filename):
|
||||||
return ['Opened asmap file "{}" (59 bytes) from disk.'.format(filename),
|
return ['Opened asmap file "{}" (59 bytes) from disk'.format(filename),
|
||||||
'Using asmap version {} for IP bucketing.'.format(VERSION)]
|
'Using asmap version {} for IP bucketing'.format(VERSION)]
|
||||||
|
|
||||||
class AsmapTest(BitcoinTestFramework):
|
class AsmapTest(BitcoinTestFramework):
|
||||||
def set_test_params(self):
|
def set_test_params(self):
|
||||||
|
@ -77,7 +77,7 @@ class AsmapTest(BitcoinTestFramework):
|
||||||
def test_default_asmap_with_missing_file(self):
|
def test_default_asmap_with_missing_file(self):
|
||||||
self.log.info('Test bitcoind -asmap with missing default map file')
|
self.log.info('Test bitcoind -asmap with missing default map file')
|
||||||
self.stop_node(0)
|
self.stop_node(0)
|
||||||
msg = "Error: Could not find asmap file '\"{}\"'".format(self.default_asmap)
|
msg = "Error: Could not find asmap file \"{}\"".format(self.default_asmap)
|
||||||
self.node.assert_start_raises_init_error(extra_args=['-asmap'], expected_msg=msg)
|
self.node.assert_start_raises_init_error(extra_args=['-asmap'], expected_msg=msg)
|
||||||
|
|
||||||
def test_empty_asmap(self):
|
def test_empty_asmap(self):
|
||||||
|
|
Loading…
Add table
Reference in a new issue