logic: use ScopedEventId

refs #4698

Change-Id: Ic5b4cd3327a690693eb416be31c25ed95516ab99
This commit is contained in:
Junxiao Shi authored and Alex Afanasyev committed 2019-02-12 07:33:21 -08:00
1 parent 8e4e76d3ff
commit c490212fb2
2 files changed
+18 -41

No files matched your search

+14 -37
View File
@@ -170,12 +170,8 @@ Logic::reset(bool isOnInterest)
sendSyncInterest();
if (static_cast<bool>(m_delayedInterestProcessingId))
m_scheduler.cancelEvent(m_delayedInterestProcessingId);
m_delayedInterestProcessingId =
m_scheduler.scheduleEvent(m_cancelResetTimer,
bind(&Logic::cancelReset, this));
m_delayedInterestProcessingId = m_scheduler.scheduleEvent(m_cancelResetTimer,
bind(&Logic::cancelReset, this));
}
void
@@ -432,14 +428,10 @@ Logic::processSyncInterest(const Interest& interest, bool isTimedProcessing/*=fa
_LOG_DEBUG_ID("Non timed processing in reset");
// Still in reset, our own seq has not been put into state yet
// Do not hurry, some others may be also resetting and may send their reply
if (static_cast<bool>(m_delayedInterestProcessingId))
m_scheduler.cancelEvent(m_delayedInterestProcessingId);
time::milliseconds after(m_rangeUniformRandom(m_rng));
_LOG_DEBUG_ID("After: " << after);
m_delayedInterestProcessingId =
m_scheduler.scheduleEvent(after,
bind(&Logic::processSyncInterest, this, interest, true));
m_delayedInterestProcessingId = m_scheduler.scheduleEvent(after,
bind(&Logic::processSyncInterest, this, interest, true));
}
else {
_LOG_DEBUG_ID("Timed processing in reset");
@@ -468,12 +460,7 @@ Logic::processSyncInterest(const Interest& interest, bool isTimedProcessing/*=fa
if (!isTimedProcessing) {
_LOG_DEBUG_ID("Let's wait, just wait for a while");
// Do not hurry, some incoming SyncReplies may help us to recognize the digest
bool doesExist = m_interestTable.has(digest);
m_interestTable.insert(interest, digest, true);
if (doesExist)
// Original comment (not sure): somebody else replied, so restart random-game timer
// YY: Get the same SyncInterest again, refresh the timer
m_scheduler.cancelEvent(m_delayedInterestProcessingId);
m_delayedInterestProcessingId =
m_scheduler.scheduleEvent(time::milliseconds(m_rangeUniformRandom(m_rng)),
@@ -551,13 +538,10 @@ Logic::processSyncData(const Name& name,
if (static_cast<bool>(commit) && !commit->getLeaves().empty()) {
// state changed and it is safe to express a new interest
time::steady_clock::Duration after = time::milliseconds(m_reexpressionJitter(m_rng));
auto after = time::milliseconds(m_reexpressionJitter(m_rng));
_LOG_DEBUG_ID("Reschedule sync interest after: " << after);
EventId eventId = m_scheduler.scheduleEvent(after,
bind(&Logic::sendSyncInterest, this));
m_scheduler.cancelEvent(m_reexpressingInterestId);
m_reexpressingInterestId = eventId;
m_reexpressingInterestId = m_scheduler.scheduleEvent(after,
bind(&Logic::sendSyncInterest, this));
}
}
@@ -607,11 +591,9 @@ Logic::sendResetInterest()
_LOG_DEBUG_ID("Need Period Reset");
_LOG_DEBUG_ID("ResetTimer: " << m_resetTimer);
EventId eventId =
m_scheduler.scheduleEvent(m_resetTimer + ndn::time::milliseconds(m_reexpressionJitter(m_rng)),
bind(&Logic::sendResetInterest, this));
m_scheduler.cancelEvent(m_resetInterestId);
m_resetInterestId = eventId;
m_resetInterestId = m_scheduler.scheduleEvent(
m_resetTimer + ndn::time::milliseconds(m_reexpressionJitter(m_rng)),
bind(&Logic::sendResetInterest, this));
}
Interest interest(m_syncReset);
@@ -643,12 +625,9 @@ Logic::sendSyncInterest()
printDigest(m_state.getRootDigest());
#endif
EventId eventId =
m_scheduler.scheduleEvent(m_syncInterestLifetime / 2 +
ndn::time::milliseconds(m_reexpressionJitter(m_rng)),
bind(&Logic::sendSyncInterest, this));
m_scheduler.cancelEvent(m_reexpressingInterestId);
m_reexpressingInterestId = eventId;
m_reexpressingInterestId = m_scheduler.scheduleEvent(m_syncInterestLifetime / 2 +
ndn::time::milliseconds(m_reexpressionJitter(m_rng)),
bind(&Logic::sendSyncInterest, this));
Interest interest(interestName);
interest.setMustBeFresh(true);
@@ -740,9 +719,7 @@ Logic::sendSyncData(const Name& nodePrefix, const Name& name, const State& state
time::milliseconds after(m_reexpressionJitter(m_rng));
_LOG_DEBUG_ID("Satisfy our own interest");
_LOG_DEBUG_ID("Reschedule sync interest after " << after);
EventId eventId = m_scheduler.scheduleEvent(after, bind(&Logic::sendSyncInterest, this));
m_scheduler.cancelEvent(m_reexpressingInterestId);
m_reexpressingInterestId = eventId;
m_reexpressingInterestId = m_scheduler.scheduleEvent(after, bind(&Logic::sendSyncInterest, this));
}
_LOG_DEBUG_ID("<< Logic::sendSyncData");
}
+4 -4
View File
@@ -505,10 +505,10 @@ private:
UpdateCallback m_onUpdate;
// Event
ndn::Scheduler m_scheduler;
ndn::EventId m_delayedInterestProcessingId;
ndn::EventId m_reexpressingInterestId;
ndn::EventId m_resetInterestId;
ndn::util::scheduler::Scheduler m_scheduler;
ndn::util::scheduler::ScopedEventId m_delayedInterestProcessingId;
ndn::util::scheduler::ScopedEventId m_reexpressingInterestId;
ndn::util::scheduler::ScopedEventId m_resetInterestId;
// Timer
ndn::random::RandomNumberEngine& m_rng;