Check origination time before starting election (#1446)
This commit is contained in:
parent
3a0dcf7941
commit
424cb680e5
2 changed files with 6 additions and 6 deletions
|
|
@ -1469,7 +1469,7 @@ nano::process_return nano::block_processor::process_one (nano::transaction const
|
|||
block_a->serialize_json (block);
|
||||
BOOST_LOG (node.log) << boost::str (boost::format ("Processing block %1%: %2%") % hash.to_string () % block);
|
||||
}
|
||||
if (node.block_arrival.recent (hash))
|
||||
if (origination != std::chrono::steady_clock::time_point () && node.block_arrival.recent (hash))
|
||||
{
|
||||
node.active.start (block_a);
|
||||
if (node.config.enable_voting)
|
||||
|
|
@ -1477,7 +1477,7 @@ nano::process_return nano::block_processor::process_one (nano::transaction const
|
|||
generator.add (hash);
|
||||
}
|
||||
}
|
||||
queue_unchecked (transaction_a, hash);
|
||||
queue_unchecked (transaction_a, hash, origination);
|
||||
break;
|
||||
}
|
||||
case nano::process_result::gap_previous:
|
||||
|
|
@ -1506,7 +1506,7 @@ nano::process_return nano::block_processor::process_one (nano::transaction const
|
|||
{
|
||||
BOOST_LOG (node.log) << boost::str (boost::format ("Old for: %1%") % block_a->hash ().to_string ());
|
||||
}
|
||||
queue_unchecked (transaction_a, hash);
|
||||
queue_unchecked (transaction_a, hash, origination);
|
||||
node.active.update_difficulty (*block_a);
|
||||
break;
|
||||
}
|
||||
|
|
@ -1580,13 +1580,13 @@ nano::process_return nano::block_processor::process_one (nano::transaction const
|
|||
return result;
|
||||
}
|
||||
|
||||
void nano::block_processor::queue_unchecked (nano::transaction const & transaction_a, nano::block_hash const & hash_a)
|
||||
void nano::block_processor::queue_unchecked (nano::transaction const & transaction_a, nano::block_hash const & hash_a, std::chrono::steady_clock::time_point origination)
|
||||
{
|
||||
auto cached (node.store.unchecked_get (transaction_a, hash_a));
|
||||
for (auto i (cached.begin ()), n (cached.end ()); i != n; ++i)
|
||||
{
|
||||
node.store.unchecked_del (transaction_a, nano::unchecked_key (hash_a, (*i)->hash ()));
|
||||
add (*i, std::chrono::steady_clock::time_point ());
|
||||
add (*i, origination);
|
||||
}
|
||||
std::lock_guard<std::mutex> lock (node.gap_cache.mutex);
|
||||
node.gap_cache.blocks.get<1> ().erase (hash_a);
|
||||
|
|
|
|||
|
|
@ -428,7 +428,7 @@ public:
|
|||
nano::process_return process_one (nano::transaction const &, std::shared_ptr<nano::block>, std::chrono::steady_clock::time_point = std::chrono::steady_clock::now (), bool = false);
|
||||
|
||||
private:
|
||||
void queue_unchecked (nano::transaction const &, nano::block_hash const &);
|
||||
void queue_unchecked (nano::transaction const &, nano::block_hash const &, std::chrono::steady_clock::time_point = std::chrono::steady_clock::time_point ());
|
||||
void verify_state_blocks (std::unique_lock<std::mutex> &, size_t = std::numeric_limits<size_t>::max ());
|
||||
void process_batch (std::unique_lock<std::mutex> &);
|
||||
bool stopped;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue