[reSIProcate] Purging expired registrations

Daniel Pocock daniel at readytechnology.co.uk
Wed Jun 28 17:21:42 CDT 2006




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;
}





More information about the resiprocate-devel mailing list