10#ifndef MBEDTLS_SSL_CACHE_H
11#define MBEDTLS_SSL_CACHE_H
13#if !defined(MBEDTLS_CONFIG_FILE)
16#include MBEDTLS_CONFIG_FILE
21#if defined(MBEDTLS_THREADING_C)
33#if !defined(MBEDTLS_SSL_CACHE_DEFAULT_TIMEOUT)
34#define MBEDTLS_SSL_CACHE_DEFAULT_TIMEOUT 86400
37#if !defined(MBEDTLS_SSL_CACHE_DEFAULT_MAX_ENTRIES)
38#define MBEDTLS_SSL_CACHE_DEFAULT_MAX_ENTRIES 50
54#if defined(MBEDTLS_HAVE_TIME)
58#if defined(MBEDTLS_X509_CRT_PARSE_C) && \
59 defined(MBEDTLS_SSL_KEEP_PEER_CERTIFICATE)
72#if defined(MBEDTLS_THREADING_C)
110#if defined(MBEDTLS_HAVE_TIME)
Configuration options (set of defines)
int mbedtls_ssl_cache_set(void *data, const mbedtls_ssl_session *session)
Cache set callback implementation (Thread-safe if MBEDTLS_THREADING_C is enabled)
void mbedtls_ssl_cache_init(mbedtls_ssl_cache_context *cache)
Initialize an SSL cache context.
void mbedtls_ssl_cache_free(mbedtls_ssl_cache_context *cache)
Free referenced items in a cache context and clear memory.
void mbedtls_ssl_cache_set_timeout(mbedtls_ssl_cache_context *cache, int timeout)
Set the cache timeout (Default: MBEDTLS_SSL_CACHE_DEFAULT_TIMEOUT (1 day))
void mbedtls_ssl_cache_set_max_entries(mbedtls_ssl_cache_context *cache, int max)
Set the maximum number of cache entries (Default: MBEDTLS_SSL_CACHE_DEFAULT_MAX_ENTRIES (50))
int mbedtls_ssl_cache_get(void *data, mbedtls_ssl_session *session)
Cache get callback implementation (Thread-safe if MBEDTLS_THREADING_C is enabled)
mbedtls_ssl_cache_entry * chain
mbedtls_threading_mutex_t mutex
This structure is used for storing cache entries.
mbedtls_ssl_cache_entry * next
mbedtls_x509_buf peer_cert
mbedtls_ssl_session session
Threading abstraction layer.