mirror of
https://github.com/espressif/openthread.git
synced 2026-08-17 16:09:51 +00:00
[srp-client] use LinkedList::RemoveAllMatching() (#7221)
This commit is contained in:
committed by
Jonathan Hui
parent
8650e15a37
commit
3c01127770
@@ -1355,27 +1355,7 @@ void Client::HandleUpdateDone(void)
|
||||
|
||||
void Client::GetRemovedServices(LinkedList<Service> &aRemovedServices)
|
||||
{
|
||||
Service *service;
|
||||
Service *prev;
|
||||
Service *next;
|
||||
|
||||
for (prev = nullptr, service = mServices.GetHead(); service != nullptr; service = next)
|
||||
{
|
||||
next = service->GetNext();
|
||||
|
||||
if (service->GetState() == kRemoved)
|
||||
{
|
||||
mServices.PopAfter(prev);
|
||||
aRemovedServices.Push(*service);
|
||||
|
||||
// When the service is removed from the list
|
||||
// we keep the `prev` pointer same as before.
|
||||
}
|
||||
else
|
||||
{
|
||||
prev = service;
|
||||
}
|
||||
}
|
||||
mServices.RemoveAllMatching(kRemoved, aRemovedServices);
|
||||
}
|
||||
|
||||
Error Client::ReadResourceRecord(const Message &aMessage, uint16_t &aOffset, Dns::ResourceRecord &aRecord)
|
||||
|
||||
@@ -267,6 +267,7 @@ public:
|
||||
TimeMilli GetLeaseRenewTime(void) const { return TimeMilli(mData); }
|
||||
void SetLeaseRenewTime(TimeMilli aTime) { mData = aTime.GetValue(); }
|
||||
bool Matches(const Service &aOther) const;
|
||||
bool Matches(ItemState aState) const { return GetState() == aState; }
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user