diff options
author | Ingela Anderton Andin <[email protected]> | 2019-02-05 14:54:11 +0100 |
---|---|---|
committer | Ingela Anderton Andin <[email protected]> | 2019-02-05 14:54:11 +0100 |
commit | c2126443b79aa53c9fc04e7dad4e6c717ca6986b (patch) | |
tree | c9b6fe193570f7a0af59b186f02d9b9c7993f87d /lib/ssl/src/ssl_session_cache_api.erl | |
parent | a1dacff6a68d905b7620debfbdd401e50fad869e (diff) | |
parent | e042afe54727ae490d47eae47c6d9a210f04dd47 (diff) | |
download | otp-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.erl | 24 |
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(). |