summaryrefslogtreecommitdiff
path: root/platform/src/ssl_service_cache.cpp
diff options
context:
space:
mode:
authorluwenpeng <[email protected]>2019-08-28 14:41:38 +0800
committerluwenpeng <[email protected]>2019-09-03 11:03:03 +0800
commitf687369db738995cffe4334688ca024c95251bbf (patch)
tree871ad0004183f02364f8e1c9ba9e4e47fc307a6f /platform/src/ssl_service_cache.cpp
parent73fe38b7d58b9c923b1fdbc5dee86d7f616d5cf0 (diff)
延长 app_st 表中数据的生存时间(1,延长 app_st 表的超时时间;2.并设置 lru 淘汰策略)
Diffstat (limited to 'platform/src/ssl_service_cache.cpp')
-rw-r--r--platform/src/ssl_service_cache.cpp20
1 files changed, 15 insertions, 5 deletions
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]));