Files
rippled/LedgerHistory.h
2011-11-07 13:45:32 -08:00

33 lines
789 B
C++

#ifndef __LEDGERHISTORY__
#define __LEDGERHISTORY__
#include "Ledger.h"
/*
This is a collection of all the ledgers you know about.
One thread of them is the thread you validate.
But you keep others that you have heard about.
Why do you need to keep them all?
In case people ask.
To make sure that there isn't a conflict between the validated ledgers
*/
class LedgerHistory
{
std::map<uint32, Ledger::pointer> mAcceptedLedgers;
std::map<uint256, Ledger::pointer> mAllLedgers;
bool loadAcceptedLedger(uint32 index);
bool loadLedger(const uint256& hash);
public:
void load();
void addLedger(Ledger::pointer ledger);
void addAcceptedLedger(Ledger::pointer ledger);
Ledger::pointer getAcceptedLedger(uint32 index);
Ledger::pointer getLedger(const uint256& hash);
};
#endif