ssl_session_cache_api
ssl_session_cache_api
模块
ssl_session_cache_api
模块摘要
TLS会话缓存API
描述
定义TLS会话缓存的API,以便可以通过定义实现此API的新回调模块来替换数据存储方案。
数据类型
以下数据类型用于以下功能ssl_session_cache_api
:
cache_ref() =
opaque()
key() =
{partialkey(), session_id()}
partialkey() =
opaque()
session_id() =
binary()
session()
=
opaque()
输出
delete(Cache, Key) -> _
类型
删除缓存条目。只从缓存处理过程中调用。
foldl(Fun, Acc0, Cache) -> Acc
类型
调用Fun(Elem, AccIn)
缓存中的连续元素,以AccIn == Acc0
。Fun/2
必须返回一个新的累加器,并将其传递给下一个呼叫。该函数返回累加器的最终值。Acc0
如果缓存为空则返回。
init(Args) -> opaque()
类型
包括{role, client | server}
。目前这是唯一预定义的属性,也可以是用户定义的属性。另见应用程序环境变量session_cb_init_args
。
对缓存进行可能的初始化并返回对其作为其他API函数的参数的引用。由缓存处理进程init
函数调用,因此对它的要求与正常的进程init
函数相同。此函数在启动SSL应用程序时调用两次,一次使用角色客户端,一次使用角色服务器,因为SSL应用程序必须准备好承担这两种角色。
lookup(Cache, Key) -> Entry
类型
查找缓存条目。可以从任何进程调用。
select_session(Cache, PartialKey) -> [session()]
类型
选择可重用的会话。可以从任何进程调用。
size(Cache) -> integer()
类型
返回缓存中的会话数。如果大小超过会话的最大数量,则无论当前缓存条目的剩余生存期如何,当前缓存项都将失效。可以从任何进程调用。
terminate(Cache) -> _
类型
处理缓存处理过程结束时可能需要的清理。
update(Cache, Key, Session) -> _
类型
缓存新会话或更新已缓存的会话。仅从缓存处理进程调用。