diff --git a/platform/src/ssl_service_cache.cpp b/platform/src/ssl_service_cache.cpp index 062bb43..eb92cc8 100644 --- a/platform/src/ssl_service_cache.cpp +++ b/platform/src/ssl_service_cache.cpp @@ -418,11 +418,21 @@ struct ssl_service_cache* ssl_service_cache_create(unsigned int slot_size, unsig ret = MESA_htable_set_opt(htable, MHO_MUTEX_NUM, &opt_val, sizeof(opt_val)); ret = MESA_htable_set_opt(htable, MHO_HASH_SLOT_SIZE, &slot_size, sizeof(slot_size)); ret = MESA_htable_set_opt(htable, MHO_HASH_MAX_ELEMENT_NUM, &max_num, sizeof(max_num)); - ret = MESA_htable_set_opt(htable, MHO_EXPIRE_TIME, &expire_seconds, sizeof(expire_seconds)); - - opt_val=HASH_ELIMINATE_ALGO_FIFO; - ret = MESA_htable_set_opt(htable, MHO_ELIMIMINATE_TYPE, - &opt_val, sizeof(int)); + // for app table + if (i == 2) + { + unsigned int app_expire_seconds = 2 * expire_seconds; + ret = MESA_htable_set_opt(htable, MHO_EXPIRE_TIME, &app_expire_seconds, sizeof(app_expire_seconds)); + opt_val = HASH_ELIMINATE_ALGO_LRU; + ret = MESA_htable_set_opt(htable, MHO_ELIMIMINATE_TYPE, &opt_val, sizeof(int)); + } + // for client table and server table + else + { + ret = MESA_htable_set_opt(htable, MHO_EXPIRE_TIME, &expire_seconds, sizeof(expire_seconds)); + opt_val = HASH_ELIMINATE_ALGO_FIFO; + ret = MESA_htable_set_opt(htable, MHO_ELIMIMINATE_TYPE, &opt_val, sizeof(int)); + } ret = MESA_htable_set_opt(htable, MHO_CBFUN_DATA_FREE, (void*)free_func[i], sizeof(free_func[i]));