Merge pull request #16967 from miri64/dsm/enh/peer-sync
dsm: rename DTLS_PEER_MAX and make it dependent on CONFIG_DTLS_PEER_MAX
This commit is contained in:
commit
44927b493f
@ -62,13 +62,6 @@
|
||||
*/
|
||||
#ifndef CONFIG_DTLS_CONTEXT_MAX
|
||||
#define CONFIG_DTLS_CONTEXT_MAX (2)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief The maximum number DTLS peers (i.e. sessions)
|
||||
*/
|
||||
#ifndef CONFIG_DTLS_PEER_MAX
|
||||
#define CONFIG_DTLS_PEER_MAX (1)
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
||||
@ -31,6 +31,8 @@
|
||||
#define NET_DSM_H
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include "dtls.h"
|
||||
#include "net/sock/dtls.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
@ -40,8 +42,8 @@ extern "C" {
|
||||
/**
|
||||
* @brief Maximum number of maintained DTLS sessions (tinyDTLS)
|
||||
*/
|
||||
#ifndef DTLS_PEER_MAX
|
||||
#define DTLS_PEER_MAX (1)
|
||||
#ifndef CONFIG_DSM_PEER_MAX
|
||||
#define CONFIG_DSM_PEER_MAX (CONFIG_DTLS_PEER_MAX)
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
||||
@ -40,6 +40,13 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief The maximum number DTLS peers (i.e. sessions)
|
||||
*/
|
||||
#ifndef CONFIG_DTLS_PEER_MAX
|
||||
#define CONFIG_DTLS_PEER_MAX (1)
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -37,13 +37,13 @@ static int _find_session(sock_dtls_t *sock, sock_dtls_session_t *to_find,
|
||||
dsm_session_t **session);
|
||||
|
||||
static mutex_t _lock;
|
||||
static dsm_session_t _sessions[DTLS_PEER_MAX];
|
||||
static dsm_session_t _sessions[CONFIG_DSM_PEER_MAX];
|
||||
static uint8_t _available_slots;
|
||||
|
||||
void dsm_init(void)
|
||||
{
|
||||
mutex_init(&_lock);
|
||||
_available_slots = DTLS_PEER_MAX;
|
||||
_available_slots = CONFIG_DSM_PEER_MAX;
|
||||
}
|
||||
|
||||
dsm_state_t dsm_store(sock_dtls_t *sock, sock_dtls_session_t *session,
|
||||
@ -116,7 +116,7 @@ uint8_t dsm_get_num_available_slots(void)
|
||||
|
||||
uint8_t dsm_get_num_maximum_slots(void)
|
||||
{
|
||||
return DTLS_PEER_MAX;
|
||||
return CONFIG_DSM_PEER_MAX;
|
||||
}
|
||||
|
||||
ssize_t dsm_get_least_recently_used_session(sock_dtls_t *sock, sock_dtls_session_t *session)
|
||||
@ -124,12 +124,12 @@ ssize_t dsm_get_least_recently_used_session(sock_dtls_t *sock, sock_dtls_session
|
||||
int res = -1;
|
||||
dsm_session_t *session_slot = NULL;
|
||||
|
||||
if (dsm_get_num_available_slots() == DTLS_PEER_MAX) {
|
||||
if (dsm_get_num_available_slots() == CONFIG_DSM_PEER_MAX) {
|
||||
return res;
|
||||
}
|
||||
|
||||
mutex_lock(&_lock);
|
||||
for (uint8_t i=0; i < DTLS_PEER_MAX; i++) {
|
||||
for (uint8_t i=0; i < CONFIG_DSM_PEER_MAX; i++) {
|
||||
if (_sessions[i].state != SESSION_STATE_ESTABLISHED) {
|
||||
continue;
|
||||
}
|
||||
@ -164,7 +164,7 @@ static int _find_session(sock_dtls_t *sock, sock_dtls_session_t *to_find,
|
||||
dsm_session_t *empty_session = NULL;
|
||||
|
||||
sock_dtls_session_get_udp_ep(to_find, &to_find_ep);
|
||||
for (uint8_t i=0; i < DTLS_PEER_MAX; i++) {
|
||||
for (uint8_t i=0; i < CONFIG_DSM_PEER_MAX; i++) {
|
||||
if (_sessions[i].state == SESSION_STATE_NONE) {
|
||||
empty_session = &_sessions[i];
|
||||
continue;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user