Browse Source

scheme

pull/1/head
Pieter Wuille 13 years ago
parent
commit
7ebdde3715
  1. 20
      db.h

20
db.h

@ -20,16 +20,24 @@ private:
double weight; double weight;
} }
// seen nodes
// / \
// (a) banned nodes tracked nodes
// / \
// tried nodes (b) unknown nodes
// / \
// (d) good nodes (c) non-good nodes
class CAddrDb { class CAddrDb {
private: private:
CCriticalSection cs; CCriticalSection cs;
int nId; // number of address id's int nId; // number of address id's
map<int, CAddrInfo> idToInfo; // map address id to address info map<int, CAddrInfo> idToInfo; // map address id to address info (b,c,d)
map<CIP, int> ipToId; // map ip to id map<CIP, int> ipToId; // map ip to id (b,c,d)
deque<int> ourId; // sequence of tracked nodes, in order we have tried connecting to them deque<int> ourId; // sequence of tried nodes, in order we have tried connecting to them (c,d)
set<int> unkId; // set of nodes not yet tried set<int> unkId; // set of nodes not yet tried (b)
set<int> goodId; // set of good nodes set<int> goodId; // set of good nodes (d)
map<CIP, pair<uint32_t, uint32_t> > banned; // nodes that are banned, with their from/to ban time map<CIP, pair<uint32_t, uint32_t> > banned; // nodes that are banned, with their from/to ban time (a)
public: public:
void Add(const CAddress &addr); void Add(const CAddress &addr);

Loading…
Cancel
Save