From 07d16749aef599b877e4e47d43ff8dd0fda74155 Mon Sep 17 00:00:00 2001 From: JoelKatz Date: Mon, 18 Jun 2012 19:19:21 -0700 Subject: [PATCH] Make sure we aren't validating when not in full. --- src/NetworkOPs.cpp | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/NetworkOPs.cpp b/src/NetworkOPs.cpp index 60d5b226a4..958caa6e96 100644 --- a/src/NetworkOPs.cpp +++ b/src/NetworkOPs.cpp @@ -291,6 +291,12 @@ void NetworkOPs::checkState(const boost::system::error_code& result) Log(lsINFO) << "Node count (" << peerList.size() << ") is sufficient."; } + if (mConsensus) + { + setStateTimer(mConsensus->timerEntry()); + return; + } + // Do we have sufficient validations for our last closed ledger? Or do sufficient nodes // agree? And do we have no better ledger available? // If so, we are either tracking or full. @@ -344,11 +350,6 @@ void NetworkOPs::checkState(const boost::system::error_code& result) } } - if (mConsensus) - { - setStateTimer(mConsensus->timerEntry()); - return; - } if (switchLedgers) { @@ -538,6 +539,14 @@ void NetworkOPs::endConsensus() void NetworkOPs::setMode(OperatingMode om) { if (mMode == om) return; + if (mMode == omFULL) + { + if (mConsensus) + { + mConsensus->abort(); + mConsensus = LedgerConsensus::pointer(); + } + } Log l((om < mMode) ? lsWARNING : lsINFO); if (om == omDISCONNECTED) l << "STATE->Disonnected"; else if (om == omCONNECTED) l << "STATE->Connected";