aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ssl/src/ssl_session_cache_api.erl
diff options
context:
space:
mode:
authorIngela Anderton Andin <[email protected]>2019-02-05 14:54:11 +0100
committerIngela Anderton Andin <[email protected]>2019-02-05 14:54:11 +0100
commitc2126443b79aa53c9fc04e7dad4e6c717ca6986b (patch)
treec9b6fe193570f7a0af59b186f02d9b9c7993f87d /lib/ssl/src/ssl_session_cache_api.erl
parenta1dacff6a68d905b7620debfbdd401e50fad869e (diff)
parente042afe54727ae490d47eae47c6d9a210f04dd47 (diff)
downloadotp-c2126443b79aa53c9fc04e7dad4e6c717ca6986b.tar.gz
otp-c2126443b79aa53c9fc04e7dad4e6c717ca6986b.tar.bz2
otp-c2126443b79aa53c9fc04e7dad4e6c717ca6986b.zip
Merge branch 'ingela/ssl/alert-return/OTP-15423' into maint
* ingela/ssl/alert-return/OTP-15423: ssl: Use specs to generate type documentation ssl: Enhance error handling
Diffstat (limited to 'lib/ssl/src/ssl_session_cache_api.erl')
-rw-r--r--lib/ssl/src/ssl_session_cache_api.erl24
1 files changed, 15 insertions, 9 deletions
diff --git a/lib/ssl/src/ssl_session_cache_api.erl b/lib/ssl/src/ssl_session_cache_api.erl
index b68c75a09b..5f96f905b1 100644
--- a/lib/ssl/src/ssl_session_cache_api.erl
+++ b/lib/ssl/src/ssl_session_cache_api.erl
@@ -23,14 +23,20 @@
-module(ssl_session_cache_api).
-include("ssl_handshake.hrl").
-include("ssl_internal.hrl").
+-include("ssl_api.hrl").
--type key() :: {{host(), inet:port_number()}, session_id()} | {inet:port_number(), session_id()}.
+-export_type([session_cache_key/0, session/0, partial_key/0, session_cache_ref/0]).
--callback init(list()) -> db_handle().
--callback terminate(db_handle()) -> any().
--callback lookup(db_handle(), key()) -> #session{} | undefined.
--callback update(db_handle(), key(), #session{}) -> any().
--callback delete(db_handle(), key()) -> any().
--callback foldl(fun(), term(), db_handle()) -> term().
--callback select_session(db_handle(), {host(), inet:port_number()} | inet:port_number()) -> [#session{}].
--callback size(db_handle()) -> integer().
+-type session_cache_ref() :: any().
+-type session_cache_key() :: {partial_key(), ssl:session_id()}.
+-opaque session() :: #session{}.
+-opaque partial_key() :: {ssl:host(), inet:port_number()} | inet:port_number().
+
+-callback init(list()) -> session_cache_ref().
+-callback terminate(session_cache_ref()) -> any().
+-callback lookup(session_cache_ref(), session_cache_key()) -> #session{} | undefined.
+-callback update(session_cache_ref(), session_cache_key(), #session{}) -> any().
+-callback delete(session_cache_ref(), session_cache_key()) -> any().
+-callback foldl(fun(), term(), session_cache_ref()) -> term().
+-callback select_session(session_cache_ref(), {ssl:host(), inet:port_number()} | inet:port_number()) -> [#session{}].
+-callback size(session_cache_ref()) -> integer().