Page MenuHomePhabricator

addrdb.h
No OneTemporary

addrdb.h

// Copyright (c) 2009-2010 Satoshi Nakamoto
// Copyright (c) 2009-2016 The Bitcoin Core developers
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
#ifndef BITCOIN_ADDRDB_H
#define BITCOIN_ADDRDB_H
#include <fs.h>
#include <net_types.h> // For banmap_t
#include <serialize.h>
#include <map>
#include <string>
class CSubNet;
class CAddrMan;
class CDataStream;
class CChainParams;
class CBanEntry {
public:
static const int CURRENT_VERSION = 1;
int nVersion;
int64_t nCreateTime;
int64_t nBanUntil;
CBanEntry() { SetNull(); }
explicit CBanEntry(int64_t nCreateTimeIn) {
SetNull();
nCreateTime = nCreateTimeIn;
}
SERIALIZE_METHODS(CBanEntry, obj) {
//! For backward compatibility
uint8_t ban_reason = 2;
READWRITE(obj.nVersion, obj.nCreateTime, obj.nBanUntil, ban_reason);
}
void SetNull() {
nVersion = CBanEntry::CURRENT_VERSION;
nCreateTime = 0;
nBanUntil = 0;
}
};
/** Access to the (IP) address database (peers.dat) */
class CAddrDB {
private:
fs::path pathAddr;
const CChainParams &chainParams;
public:
explicit CAddrDB(const CChainParams &chainParams);
bool Write(const CAddrMan &addr);
bool Read(CAddrMan &addr);
bool Read(CAddrMan &addr, CDataStream &ssPeers);
};
/** Access to the banlist database (banlist.dat) */
class CBanDB {
private:
const fs::path m_ban_list_path;
const CChainParams &chainParams;
public:
CBanDB(fs::path ban_list_path, const CChainParams &_chainParams);
bool Write(const banmap_t &banSet);
bool Read(banmap_t &banSet);
};
#endif // BITCOIN_ADDRDB_H

File Metadata

Mime Type
text/x-c++
Expires
Sat, Nov 23, 09:59 (1 d, 11 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
4523222
Default Alt Text
addrdb.h (1 KB)

Event Timeline