libcoap 4.3.1
|
CoAP session internal information. More...
Go to the source code of this file.
Data Structures | |
struct | coap_addr_hash_t |
Only used for servers for hashing incoming packets. More... | |
struct | coap_session_t |
Abstraction of virtual session that can be attached to coap_context_t (client) or coap_endpoint_t (server). More... | |
struct | coap_endpoint_t |
Abstraction of virtual endpoint that can be attached to coap_context_t. More... | |
Macros | |
#define | COAP_DEFAULT_SESSION_TIMEOUT 300 |
#define | COAP_PARTIAL_SESSION_TIMEOUT_TICKS (30 * COAP_TICKS_PER_SECOND) |
#define | COAP_DEFAULT_MAX_HANDSHAKE_SESSIONS 100 |
#define | COAP_SESSION_REF(s) ((s)->ref |
#define | COAP_ACK_TIMEOUT(s) ((s)->ack_timeout) |
#define | COAP_ACK_RANDOM_FACTOR(s) ((s)->ack_random_factor) |
#define | COAP_MAX_RETRANSMIT(s) ((s)->max_retransmit) |
#define | COAP_NSTART(s) ((s)->nstart) |
#define | COAP_DEFAULT_LEISURE(s) ((s)->default_leisure) |
#define | COAP_PROBING_RATE(s) ((s)->probing_rate) |
#define | COAP_DEFAULT_LEISURE_TICKS(s) |
The DEFAULT_LEISURE definition for the session (s). More... | |
#define | COAP_MAX_TRANSMIT_SPAN(s) |
The MAX_TRANSMIT_SPAN definition for the session (s). More... | |
#define | COAP_MAX_TRANSMIT_WAIT(s) |
The MAX_TRANSMIT_WAIT definition for the session (s). More... | |
#define | COAP_MAX_TRANSMIT_WAIT_TICKS(s) (COAP_MAX_TRANSMIT_WAIT(s) * COAP_TICKS_PER_SECOND) |
#define | COAP_PROCESSING_DELAY(s) |
The PROCESSING_DELAY definition for the session (s). More... | |
#define | COAP_MAX_RTT(s) ((2 * COAP_DEFAULT_MAX_LATENCY) + COAP_PROCESSING_DELAY(s)) |
The MAX_RTT definition for the session (s). More... | |
#define | COAP_EXCHANGE_LIFETIME(s) |
The EXCHANGE_LIFETIME definition for the session (s). More... | |
#define | COAP_NON_LIFETIME(s) (COAP_MAX_TRANSMIT_SPAN(s) + COAP_DEFAULT_MAX_LATENCY) |
The NON_LIFETIME definition for the session (s). More... | |
#define | SESSIONS_ADD(e, obj) HASH_ADD(hh, (e), addr_hash, sizeof((obj)->addr_hash), (obj)) |
#define | SESSIONS_DELETE(e, obj) HASH_DELETE(hh, (e), (obj)) |
#define | SESSIONS_ITER(e, el, rtmp) HASH_ITER(hh, (e), el, rtmp) |
#define | SESSIONS_ITER_SAFE(e, el, rtmp) for ((el) = (e); (el) && ((rtmp) = (el)->hh.next, 1); (el) = (rtmp)) |
#define | SESSIONS_FIND(e, k, res) |
Functions | |
void | coap_session_send_csm (coap_session_t *session) |
Notify session transport has just connected and CSM exchange can now start. More... | |
void | coap_session_connected (coap_session_t *session) |
Notify session that it has just connected or reconnected. More... | |
int | coap_session_refresh_psk_hint (coap_session_t *session, const coap_bin_const_t *psk_hint) |
Refresh the session's current Identity Hint (PSK). More... | |
int | coap_session_refresh_psk_key (coap_session_t *session, const coap_bin_const_t *psk_key) |
Refresh the session's current pre-shared key (PSK). More... | |
int | coap_session_refresh_psk_identity (coap_session_t *session, const coap_bin_const_t *psk_identity) |
Refresh the session's current pre-shared identity (PSK). More... | |
coap_session_t * | coap_new_server_session (coap_context_t *ctx, coap_endpoint_t *ep) |
Creates a new server session for the specified endpoint. More... | |
ssize_t | coap_session_send (coap_session_t *session, const uint8_t *data, size_t datalen) |
Function interface for datagram data transmission. More... | |
ssize_t | coap_session_write (coap_session_t *session, const uint8_t *data, size_t datalen) |
Function interface for stream data transmission. More... | |
ssize_t | coap_session_send_pdu (coap_session_t *session, coap_pdu_t *pdu) |
Send a pdu according to the session's protocol. More... | |
ssize_t | coap_session_delay_pdu (coap_session_t *session, coap_pdu_t *pdu, coap_queue_t *node) |
coap_session_t * | coap_endpoint_get_session (coap_endpoint_t *endpoint, const coap_packet_t *packet, coap_tick_t now) |
Lookup the server session for the packet received on an endpoint, or create a new one. More... | |
size_t | coap_session_max_pdu_rcv_size (const coap_session_t *session) |
Get maximum acceptable receive PDU size. More... | |
coap_session_t * | coap_session_new_dtls_session (coap_session_t *session, coap_tick_t now) |
Create a new DTLS session for the session . More... | |
void | coap_session_free (coap_session_t *session) |
void | coap_session_mfree (coap_session_t *session) |
CoAP session internal information.
Definition in file coap_session_internal.h.
#define COAP_DEFAULT_MAX_HANDSHAKE_SESSIONS 100 |
Definition at line 26 of file coap_session_internal.h.
#define COAP_DEFAULT_SESSION_TIMEOUT 300 |
Definition at line 24 of file coap_session_internal.h.
#define COAP_PARTIAL_SESSION_TIMEOUT_TICKS (30 * COAP_TICKS_PER_SECOND) |
Definition at line 25 of file coap_session_internal.h.
#define SESSIONS_ADD | ( | e, | |
obj | |||
) | HASH_ADD(hh, (e), addr_hash, sizeof((obj)->addr_hash), (obj)) |
Definition at line 420 of file coap_session_internal.h.
#define SESSIONS_DELETE | ( | e, | |
obj | |||
) | HASH_DELETE(hh, (e), (obj)) |
Definition at line 423 of file coap_session_internal.h.
#define SESSIONS_FIND | ( | e, | |
k, | |||
res | |||
) |
Definition at line 432 of file coap_session_internal.h.
#define SESSIONS_ITER | ( | e, | |
el, | |||
rtmp | |||
) | HASH_ITER(hh, (e), el, rtmp) |
Definition at line 426 of file coap_session_internal.h.
#define SESSIONS_ITER_SAFE | ( | e, | |
el, | |||
rtmp | |||
) | for ((el) = (e); (el) && ((rtmp) = (el)->hh.next, 1); (el) = (rtmp)) |
Definition at line 429 of file coap_session_internal.h.