< Previous by Date Date Index Next by Date >
  Thread Index Next in Thread >

[reSIProcate] Purging expired registrations





I notice the following code in InMemoryRegistrationDatabase.cxx, getContacts() is similar, it appears that the aor and/or contacts are returned without checking for expiry. I am happy to write patches for InMemoryRegistrationDatabase to purge the expired registrations whenever the relevent aor is queried.

Furthermore, if a class implementing RegistrationPersistenceManager is modified to purge expired registrations in this way, will it need to initiate (possibly through the stack) some callback to the ServerRegistrationHandler?

bool
InMemoryRegistrationDatabase::aorIsRegistered(const Uri& aor)
{
 database_map_t::iterator i;

 Lock g(mDatabaseMutex);
 i = mDatabase.find(aor);
 if (i == mDatabase.end() || i->second == 0)
 {
   return false;
 }
 return true;
}