Added cleanup functionality to the hss.

This commit is contained in:
Pedro Alvarez 2017-12-17 16:30:50 +00:00
parent a4e1707835
commit a8f268c55b
3 changed files with 23 additions and 4 deletions

View File

@ -67,6 +67,8 @@ public:
static hss* get_instance(void);
static void cleanup(void);
int init(hss_args_t *hss_args, srslte::log_filter* hss_log);
void stop(void);
bool set_auth_algo(std::string auth_algo);
bool read_db_file(std::string db_file);

View File

@ -48,10 +48,6 @@ hss::hss()
hss::~hss()
{
if(m_db_file.is_open())
{
m_db_file.close();
}
return;
}
@ -98,6 +94,25 @@ hss::init(hss_args_t *hss_args, srslte::log_filter *hss_log)
return 0;
}
void
hss::stop(void)
{
std::map<uint64_t,hss_ue_ctx_t*>::iterator it = m_imsi_to_ue_ctx.begin();
while(it!=m_imsi_to_ue_ctx.end())
{
m_hss_log->info("Deleting UE context in HSS. IMSI: %lu\n", it->second->imsi);
m_hss_log->console("Deleting UE context in HSS. IMSI: %lu\n", it->second->imsi);
delete it->second;
m_imsi_to_ue_ctx.erase(it++);
}
if(m_db_file.is_open())
{
m_db_file.close();
}
return;
}
bool
hss::set_auth_algo(std::string auth_algo)
{

View File

@ -250,6 +250,8 @@ main (int argc,char * argv[] )
mme->cleanup();
spgw->stop();
spgw->cleanup();
hss->stop();
hss->cleanup();
cout << std::endl <<"--- exiting ---" << endl;
return 0;