Keep one validation back to avoid a split case when some nodes have sent new validations and some haven't

This commit is contained in:
JoelKatz
2012-08-03 04:07:01 -07:00
parent 6815c7ef98
commit 5778cb1183
2 changed files with 49 additions and 15 deletions

View File

@@ -12,13 +12,21 @@
typedef boost::unordered_map<uint160, SerializedValidation::pointer> ValidationSet;
class ValidationPair
{
public:
SerializedValidation::pointer oldest, newest;
ValidationPair(SerializedValidation::pointer v) : newest(v) { ; }
};
class ValidationCollection
{
protected:
boost::mutex mValidationLock;
boost::unordered_map<uint256, ValidationSet> mValidations;
boost::unordered_map<uint160, SerializedValidation::pointer> mCurrentValidations;
boost::unordered_map<uint160, ValidationPair> mCurrentValidations;
std::vector<SerializedValidation::pointer> mStaleValidations;
bool mWriting;