Lines Matching refs:entry

62         CacheEntry *entry;  in Clear()  local
64 while ((entry = list->Pop()) != nullptr) in Clear()
68 Get<MeshForwarder>().HandleResolved(entry->GetTarget(), kErrorDrop); in Clear()
71 mCacheEntryPool.Free(*entry); in Clear()
80 const CacheEntry *entry = aIterator.GetEntry(); in GetNextCacheEntry() local
82 while (entry == nullptr) in GetNextCacheEntry()
105 entry = list->GetHead(); in GetNextCacheEntry()
110 aIterator.SetEntry(entry->GetNext()); in GetNextCacheEntry()
114 aInfo.mTarget = entry->GetTarget(); in GetNextCacheEntry()
115 aInfo.mRloc16 = entry->GetRloc16(); in GetNextCacheEntry()
121 aInfo.mValidLastTrans = entry->IsLastTransactionTimeValid(); in GetNextCacheEntry()
123 VerifyOrExit(entry->IsLastTransactionTimeValid()); in GetNextCacheEntry()
125 aInfo.mLastTransTime = entry->GetLastTransactionTime(); in GetNextCacheEntry()
127 AsCoreType(&aInfo.mMeshLocalEid).SetIid(entry->GetMeshLocalIid()); in GetNextCacheEntry()
143 aInfo.mRampDown = entry->IsInRampDown(); in GetNextCacheEntry()
146 aInfo.mCanEvict = entry->CanEvict(); in GetNextCacheEntry()
147 aInfo.mTimeout = entry->GetTimeout(); in GetNextCacheEntry()
148 aInfo.mRetryDelay = entry->GetRetryDelay(); in GetNextCacheEntry()
173 CacheEntry *entry; in Remove() local
175 while ((entry = GetEntryAfter(prev, *list)) != nullptr) in Remove()
177 if ((aMatchRouterId && Mle::RouterIdMatch(entry->GetRloc16(), aRloc16)) || in Remove()
178 (!aMatchRouterId && (entry->GetRloc16() == aRloc16))) in Remove()
180 …RemoveCacheEntry(*entry, *list, prev, aMatchRouterId ? kReasonRemovingRouterId : kReasonRemovingRl… in Remove()
181 mCacheEntryPool.Free(*entry); in Remove()
188 prev = entry; in Remove()
198 CacheEntry *entry = nullptr; in FindCacheEntry() local
204 entry = aList->FindMatchingWithPrev(aPrevEntry, aEid); in FindCacheEntry()
205 VerifyOrExit(entry == nullptr); in FindCacheEntry()
209 return entry; in FindCacheEntry()
216 CacheEntry *entry; in Remove() local
220 entry = FindCacheEntry(aEid, list, prev); in Remove()
221 VerifyOrExit(entry != nullptr); in Remove()
223 RemoveCacheEntry(*entry, *list, prev, aReason); in Remove()
224 mCacheEntryPool.Free(*entry); in Remove()
236 for (CacheEntry &entry : *list) in ReplaceEntriesForRloc16()
238 if (entry.GetRloc16() == aOldRloc16) in ReplaceEntriesForRloc16()
240 entry.SetRloc16(aNewRloc16); in ReplaceEntriesForRloc16()
269 CacheEntry *entry; in NewCacheEntry() local
272 for (prev = nullptr; (entry = GetEntryAfter(prev, *list)) != nullptr; prev = entry) in NewCacheEntry()
274 if ((list != &mCachedList) && !entry->CanEvict()) in NewCacheEntry()
280 newEntry = entry; in NewCacheEntry()
335 CacheEntry *entry; in UpdateCacheEntry() local
338 entry = FindCacheEntry(aEid, list, prev); in UpdateCacheEntry()
339 VerifyOrExit(entry != nullptr, error = kErrorNotFound); in UpdateCacheEntry()
343 VerifyOrExit(entry->GetRloc16() != aRloc16); in UpdateCacheEntry()
344 entry->SetRloc16(aRloc16); in UpdateCacheEntry()
354 entry->SetRloc16(aRloc16); in UpdateCacheEntry()
355 entry->MarkLastTransactionTimeAsInvalid(); in UpdateCacheEntry()
356 mCachedList.Push(*entry); in UpdateCacheEntry()
361 LogCacheEntryChange(kEntryUpdated, kReasonSnoop, *entry); in UpdateCacheEntry()
370 CacheEntry *entry; in UpdateSnoopedCacheEntry() local
394 entry = NewCacheEntry(/* aSnoopedEntry */ true); in UpdateSnoopedCacheEntry()
395 VerifyOrExit(entry != nullptr); in UpdateSnoopedCacheEntry()
405 entry->SetTarget(aEid); in UpdateSnoopedCacheEntry()
406 entry->SetRloc16(aRloc16); in UpdateSnoopedCacheEntry()
410 entry->SetCanEvict(false); in UpdateSnoopedCacheEntry()
411 entry->SetTimeout(kSnoopBlockEvictionTimeout); in UpdateSnoopedCacheEntry()
417 entry->SetCanEvict(true); in UpdateSnoopedCacheEntry()
418 entry->SetTimeout(0); in UpdateSnoopedCacheEntry()
421 mSnoopedList.Push(*entry); in UpdateSnoopedCacheEntry()
423 LogCacheEntryChange(kEntryAdded, kReasonSnoop, *entry); in UpdateSnoopedCacheEntry()
450 for (CacheEntry &entry : mQueryList) in RestartAddressQueries()
452 IgnoreError(SendAddressQuery(entry.GetTarget())); in RestartAddressQueries()
454 entry.SetTimeout(kAddressQueryTimeout); in RestartAddressQueries()
455 entry.SetRetryDelay(kAddressQueryInitialRetryDelay); in RestartAddressQueries()
456 entry.SetCanEvict(false); in RestartAddressQueries()
471 CacheEntry *entry; in Resolve() local
479 entry = FindCacheEntry(aEid, list, prev); in Resolve()
481 if ((entry != nullptr) && ((list == &mCachedList) || (list == &mSnoopedList))) in Resolve()
499 isFresh = (list == &mCachedList) && !entry->IsFreshnessTimeoutZero(); in Resolve()
501 if (!isFresh && (Get<RouterTable>().GetNextHop(entry->GetRloc16()) == Mle::kInvalidRloc16)) in Resolve()
503 mCacheEntryPool.Free(*entry); in Resolve()
504 entry = nullptr; in Resolve()
507 if (entry != nullptr) in Resolve()
513 entry->MarkLastTransactionTimeAsInvalid(); in Resolve()
516 mCachedList.Push(*entry); in Resolve()
517 aRloc16 = entry->GetRloc16(); in Resolve()
522 if (entry == nullptr) in Resolve()
531 entry = NewCacheEntry(/* aSnoopedEntry */ false); in Resolve()
532 VerifyOrExit(entry != nullptr, error = kErrorNoBufs); in Resolve()
534 entry->SetTarget(aEid); in Resolve()
535 entry->SetRloc16(Mle::kInvalidRloc16); in Resolve()
536 entry->SetRetryDelay(kAddressQueryInitialRetryDelay); in Resolve()
537 entry->SetCanEvict(false); in Resolve()
560 VerifyOrExit(entry->IsInRampDown(), error = kErrorDrop); in Resolve()
564 entry->SetTimeout(kAddressQueryTimeout); in Resolve()
567 VerifyOrExit(error == kErrorNone, mCacheEntryPool.Free(*entry)); in Resolve()
571 LogCacheEntryChange(kEntryAdded, kReasonQueryRequest, *entry); in Resolve()
574 mQueryList.Push(*entry); in Resolve()
656 CacheEntry *entry; in HandleTmf() local
679 entry = FindCacheEntry(target, list, prev); in HandleTmf()
680 VerifyOrExit(entry != nullptr); in HandleTmf()
684 if (entry->IsLastTransactionTimeValid()) in HandleTmf()
691 …VerifyOrExit(entry->GetMeshLocalIid() == meshLocalIid, SendAddressError(target, meshLocalIid, null… in HandleTmf()
693 VerifyOrExit(lastTransactionTime < entry->GetLastTransactionTime()); in HandleTmf()
697 entry->SetRloc16(rloc16); in HandleTmf()
698 entry->SetMeshLocalIid(meshLocalIid); in HandleTmf()
699 entry->SetLastTransactionTime(lastTransactionTime); in HandleTmf()
700 entry->ResetFreshnessTimeout(); in HandleTmf()
704 mCachedList.Push(*entry); in HandleTmf()
706 LogCacheEntryChange(kEntryUpdated, kReasonReceivedNotification, *entry); in HandleTmf()
927 for (CacheEntry &entry : mCachedList) in HandleTimeTick()
929 if (!entry.IsFreshnessTimeoutZero()) in HandleTimeTick()
931 entry.DecrementFreshnessTimeout(); in HandleTimeTick()
936 for (CacheEntry &entry : mSnoopedList) in HandleTimeTick()
938 if (entry.IsTimeoutZero()) in HandleTimeTick()
944 entry.DecrementTimeout(); in HandleTimeTick()
946 if (entry.IsTimeoutZero()) in HandleTimeTick()
948 entry.SetCanEvict(true); in HandleTimeTick()
952 for (CacheEntry &entry : mQueryRetryList) in HandleTimeTick()
954 if (entry.IsTimeoutZero()) in HandleTimeTick()
960 entry.DecrementTimeout(); in HandleTimeTick()
962 if (entry.IsTimeoutZero()) in HandleTimeTick()
964 if (!entry.IsInRampDown()) in HandleTimeTick()
966 entry.SetRampDown(true); in HandleTimeTick()
967 entry.SetTimeout(kAddressQueryMaxRetryDelay); in HandleTimeTick()
969 … LogInfo("Starting ramp down of %s retry-delay:%u", entry.GetTarget().ToString().AsCString(), in HandleTimeTick()
970 entry.GetTimeout()); in HandleTimeTick()
974 uint16_t retryDelay = entry.GetRetryDelay(); in HandleTimeTick()
979 if (retryDelay != entry.GetRetryDelay()) in HandleTimeTick()
981 entry.SetRetryDelay(retryDelay); in HandleTimeTick()
982 entry.SetTimeout(kAddressQueryMaxRetryDelay); in HandleTimeTick()
984 … LogInfo("Ramping down %s retry-delay:%u", entry.GetTarget().ToString().AsCString(), retryDelay); in HandleTimeTick()
992 CacheEntry *entry; in HandleTimeTick() local
994 while ((entry = GetEntryAfter(prev, mQueryList)) != nullptr) in HandleTimeTick()
996 OT_ASSERT(!entry->IsTimeoutZero()); in HandleTimeTick()
999 entry->DecrementTimeout(); in HandleTimeTick()
1001 if (entry->IsTimeoutZero()) in HandleTimeTick()
1003 uint16_t retryDelay = entry->GetRetryDelay(); in HandleTimeTick()
1005 entry->SetTimeout(retryDelay); in HandleTimeTick()
1010 entry->SetRetryDelay(retryDelay); in HandleTimeTick()
1011 entry->SetCanEvict(true); in HandleTimeTick()
1012 entry->SetRampDown(false); in HandleTimeTick()
1016 mQueryRetryList.Push(*entry); in HandleTimeTick()
1019 entry->GetTarget().ToString().AsCString(), entry->GetTimeout()); in HandleTimeTick()
1021 Get<MeshForwarder>().HandleResolved(entry->GetTarget(), kErrorDrop); in HandleTimeTick()
1028 prev = entry; in HandleTimeTick()