ssl_session_cache_api(3erl)Erlang Module Definitionssl_session_cache_api(3erl)
NAME
ssl_session_cache_api - TLS session cache API
DESCRIPTION
Defines the API for the TLS session cache so that the data storage
scheme can be replaced by defining a new callback module implementing
this API.
DATA TYPES
session_cache_ref() = any()
session_cache_key() = {partial_key(), ssl:session_id()}
A key to an entry in the session cache.
partial_key()
The opaque part of the key. Does not need to be handled by the
callback.
session()
The session data that is stored for each session.
EXPORTS
delete(Cache, Key) -> _
Types:
Cache = session_cache_ref()
Key = session_cache_key()
Deletes a cache entry. Is only called from the cache handling
process.
foldl(Fun, Acc0, Cache) -> Acc
Types:
Fun = fun()
Acc0 = Acc = term()
Cache = session_cache_ref()
Calls Fun(Elem, AccIn) on successive elements of the cache,
starting with AccIn == Acc0. Fun/2 must return a new accumula-
tor, which is passed to the next call. The function returns the
final value of the accumulator. Acc0 is returned if the cache is
empty.
init(Args) -> Cache
Types:
Cache = session_cache_ref()
Args = proplists:proplist()
Includes property {role, client | server}. Currently this is the
only predefined property, there can also be user-defined proper-
ties. See also application environment variable ses-
sion_cb_init_args.
Performs possible initializations of the cache and returns a
reference to it that is used as parameter to the other API func-
tions. Is called by the cache handling processes init function,
hence putting the same requirements on it as a normal process
init function. This function is called twice when starting the
SSL application, once with the role client and once with the
role server, as the SSL application must be prepared to take on
both roles.
lookup(Cache, Key) -> Entry
Types:
Cache = session_cache_ref()
Key = session_cache_key()
Session = session() | undefined
Looks up a cache entry. Is to be callable from any process.
select_session(Cache, PartialKey) -> [Session]
Types:
Cache = session_cache_ref()
PartialKey = partial_key()
Session = session()
Selects sessions that can be reused. Is to be callable from any
process.
size(Cache) -> integer()
Types:
Cache = session_cache_ref()
Returns the number of sessions in the cache. If size exceeds the
maximum number of sessions, the current cache entries will be
invalidated regardless of their remaining lifetime. Is to be
callable from any process.
terminate(Cache) -> _
Types:
Cache = session_cache_ref()
As returned by init/0
Takes care of possible cleanup that is needed when the cache
handling process terminates.
update(Cache, Key, Session) -> _
Types:
Cache = session_cache_ref()
Key = session_cache_key()
Session = session()
Caches a new session or updates an already cached one. Is only
called from the cache handling process.
Ericsson AB ssl 10.0 ssl_session_cache_api(3erl)