Mercurial > hg > orthanc-stone
comparison Framework/Loaders/LoaderStateMachine.cpp @ 977:262a0244e9b2 toa2019090201
Added missing Unregister for objects that register by the broker + logs + guard in FetchContext
author | Benjamin Golinvaux <bgo@osimis.io> |
---|---|
date | Mon, 02 Sep 2019 17:29:26 +0200 |
parents | e75fd08d6c75 |
children | e713f1a99861 eb28dfe432f7 |
comparison
equal
deleted
inserted
replaced
976:3abc47e051c8 | 977:262a0244e9b2 |
---|---|
134 } | 134 } |
135 | 135 |
136 template <typename T> | 136 template <typename T> |
137 void LoaderStateMachine::HandleSuccessMessage(const T& message) | 137 void LoaderStateMachine::HandleSuccessMessage(const T& message) |
138 { | 138 { |
139 LOG(TRACE) << "LoaderStateMachine(" << std::hex << this << std::dec << ")::HandleSuccessMessage()"; | 139 LOG(TRACE) << "LoaderStateMachine(" << std::hex << this << std::dec << ")::HandleSuccessMessage(). Receiver fingerprint = " << GetFingerprint(); |
140 if (activeCommands_ <= 0) { | 140 if (activeCommands_ <= 0) { |
141 LOG(ERROR) << "LoaderStateMachine(" << std::hex << this << std::dec << ")::HandleSuccessMessage : activeCommands_ should be > 0 but is: " << activeCommands_; | 141 LOG(ERROR) << "LoaderStateMachine(" << std::hex << this << std::dec << ")::HandleSuccessMessage : activeCommands_ should be > 0 but is: " << activeCommands_; |
142 LOG(ERROR) << "LoaderStateMachine(" << std::hex << this << std::dec << ") fingerprint = " << GetFingerprint(); | |
143 } | 142 } |
144 else { | 143 else { |
145 activeCommands_--; | 144 activeCommands_--; |
146 try | 145 try |
147 { | 146 { |
160 | 159 |
161 LoaderStateMachine::LoaderStateMachine(IOracle& oracle, | 160 LoaderStateMachine::LoaderStateMachine(IOracle& oracle, |
162 IObservable& oracleObservable) : | 161 IObservable& oracleObservable) : |
163 IObserver(oracleObservable.GetBroker()), | 162 IObserver(oracleObservable.GetBroker()), |
164 oracle_(oracle), | 163 oracle_(oracle), |
164 oracleObservable_(oracleObservable), | |
165 active_(false), | 165 active_(false), |
166 simultaneousDownloads_(4), | 166 simultaneousDownloads_(4), |
167 activeCommands_(0) | 167 activeCommands_(0) |
168 { | 168 { |
169 LOG(TRACE) << "LoaderStateMachine(" << std::hex << this << std::dec << ")::LoaderStateMachine()"; | 169 LOG(TRACE) << "LoaderStateMachine(" << std::hex << this << std::dec << ")::LoaderStateMachine()"; |
185 (*this, &LoaderStateMachine::HandleExceptionMessage)); | 185 (*this, &LoaderStateMachine::HandleExceptionMessage)); |
186 } | 186 } |
187 | 187 |
188 LoaderStateMachine::~LoaderStateMachine() | 188 LoaderStateMachine::~LoaderStateMachine() |
189 { | 189 { |
190 oracleObservable_.Unregister(this); | |
190 LOG(TRACE) << "LoaderStateMachine(" << std::hex << this << std::dec << ")::~LoaderStateMachine()"; | 191 LOG(TRACE) << "LoaderStateMachine(" << std::hex << this << std::dec << ")::~LoaderStateMachine()"; |
191 Clear(); | 192 Clear(); |
192 } | 193 } |
193 | 194 |
194 void LoaderStateMachine::SetSimultaneousDownloads(unsigned int count) | 195 void LoaderStateMachine::SetSimultaneousDownloads(unsigned int count) |