|
libcoap 4.3.5-develop-13abce9
|
CoAP session internal information. More...
Include dependency graph for coap_session_internal.h:
This graph shows which files directly or indirectly include this file: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_MAX_PAYLOADS(s) ((s)->max_payloads) |
| #define | COAP_NON_MAX_RETRANSMIT(s) ((s)->non_max_retransmit) |
| #define | COAP_NON_TIMEOUT(s) ((s)->non_timeout) |
| #define | COAP_NON_TIMEOUT_TICKS(s) |
| #define | COAP_NON_RECEIVE_TIMEOUT(s) ((s)->non_receive_timeout) |
| #define | COAP_NON_PROBING_WAIT_BASE(s) ((s)->non_probing_wait_base) |
| #define | COAP_NON_PARTIAL_TIMEOUT(s) ((s)->non_partial_timeout) |
| #define | COAP_DEFAULT_LEISURE_TICKS(s) |
| The DEFAULT_LEISURE definition for the session (s). | |
| #define | COAP_MAX_TRANSMIT_SPAN(s) |
| The MAX_TRANSMIT_SPAN definition for the session (s). | |
| #define | COAP_MAX_TRANSMIT_WAIT(s) |
| The MAX_TRANSMIT_WAIT definition for the session (s). | |
| #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). | |
| #define | COAP_MAX_RTT(s) ((2 * COAP_DEFAULT_MAX_LATENCY) + COAP_PROCESSING_DELAY(s)) |
| The MAX_RTT definition for the session (s). | |
| #define | COAP_EXCHANGE_LIFETIME(s) |
| The EXCHANGE_LIFETIME definition for the session (s). | |
| #define | COAP_NON_LIFETIME(s) (COAP_MAX_TRANSMIT_SPAN(s) + COAP_DEFAULT_MAX_LATENCY) |
| The NON_LIFETIME definition for the session (s). | |
| #define | COAP_NON_RECEIVE_TIMEOUT_TICKS(s) |
| The NON_RECEIVE_TIMEOUT definition for the session (s). | |
| #define | COAP_NON_PROBING_WAIT(s) |
| The NON_PROBING_WAIT definition for the session (s). | |
| #define | COAP_NON_PROBING_WAIT_TICKS(s) |
| #define | COAP_NON_PARTIAL_TIMEOUT_TICKS(s) |
| The NON_PARTIAL_TIMEOUT definition for the session (s). | |
| #define | COAP_NON_TIMEOUT_RANDOM(s) coap_get_non_timeout_random(s) |
| The NON_TIMEOUT_RANDOM definition for the session (s). | |
| #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) |
Typedefs | |
| typedef enum coap_ext_token_check_t | coap_ext_token_check_t |
| coap_ext_token_check_t values | |
Enumerations | |
| enum | COAP_OSCORE_B_2_STEP { COAP_OSCORE_B_2_NONE = 0 , COAP_OSCORE_B_2_STEP_1 , COAP_OSCORE_B_2_STEP_2 , COAP_OSCORE_B_2_STEP_3 , COAP_OSCORE_B_2_STEP_4 , COAP_OSCORE_B_2_STEP_5 } |
| enum | coap_ext_token_check_t { COAP_EXT_T_NOT_CHECKED = 0 , COAP_EXT_T_CHECKED , COAP_EXT_T_CHECKING } |
| coap_ext_token_check_t values More... | |
Functions | |
| coap_fixed_point_t | coap_multi_fixed_fixed (coap_fixed_point_t fp1, coap_fixed_point_t fp2) |
| coap_fixed_point_t | coap_multi_fixed_uint (coap_fixed_point_t fp1, uint32_t u2) |
| coap_fixed_point_t | coap_add_fixed_fixed (coap_fixed_point_t fp1, coap_fixed_point_t fp2) |
| coap_fixed_point_t | coap_add_fixed_uint (coap_fixed_point_t fp1, uint32_t u2) |
| coap_fixed_point_t | coap_sub_fixed_uint (coap_fixed_point_t fp1, uint32_t u2) |
| coap_fixed_point_t | coap_div_fixed_uint (coap_fixed_point_t fp1, uint32_t u2) |
| coap_fixed_point_t | coap_get_non_timeout_random (coap_session_t *session) |
| coap_tick_t | coap_get_non_timeout_random_ticks (coap_session_t *session) |
| void | coap_session_send_csm (coap_session_t *session) |
| Notify session transport has just connected and CSM exchange can now start. | |
| void | coap_session_connected (coap_session_t *session) |
| Notify session that it has just connected or reconnected. | |
| void | coap_session_disconnected_lkd (coap_session_t *session, coap_nack_reason_t reason) |
| Notify session that it has failed. | |
| coap_mid_t | coap_session_send_ping_lkd (coap_session_t *session) |
| Send a ping message for the session. | |
| 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). | |
| 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). | |
| 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). | |
| coap_session_t * | coap_new_server_session (coap_context_t *ctx, coap_endpoint_t *ep, void *extra) |
| Creates a new server session for the specified endpoint. | |
| void | coap_session_establish (coap_session_t *session) |
| Layer function interface for layer below session accept/connect being established. | |
| coap_session_t * | coap_session_reference_lkd (coap_session_t *session) |
| Increment reference counter on a session. | |
| int | coap_session_set_type_client_lkd (coap_session_t *session, int report_changed) |
| Set the session type to client. | |
| int | coap_session_set_type_server_lkd (coap_session_t *session) |
| Set the session type to server. | |
| void | coap_session_release_lkd (coap_session_t *session) |
| Decrement reference counter on a session. | |
| ssize_t | coap_session_send_pdu (coap_session_t *session, coap_pdu_t *pdu) |
| Send a pdu according to the session's protocol. | |
| 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. | |
| coap_endpoint_t * | coap_new_endpoint_lkd (coap_context_t *context, const coap_address_t *listen_addr, coap_proto_t proto) |
| Create a new endpoint for communicating with peers. | |
| void | coap_free_endpoint_lkd (coap_endpoint_t *endpoint) |
| Release an endpoint and all the structures associated with it. | |
| size_t | coap_session_max_pdu_rcv_size (const coap_session_t *session) |
| Get maximum acceptable receive PDU size. | |
| size_t | coap_session_max_pdu_size_lkd (const coap_session_t *session) |
| Get maximum acceptable PDU size. | |
| coap_session_t * | coap_new_client_session_lkd (coap_context_t *ctx, const coap_address_t *local_if, const coap_address_t *server, coap_proto_t proto) |
| Creates a new client session to the designated server. | |
| coap_session_t * | coap_new_client_session_pki_lkd (coap_context_t *ctx, const coap_address_t *local_if, const coap_address_t *server, coap_proto_t proto, coap_dtls_pki_t *setup_data) |
| Creates a new client session to the designated server with PKI credentials. | |
| coap_session_t * | coap_new_client_session_psk_lkd (coap_context_t *ctx, const coap_address_t *local_if, const coap_address_t *server, coap_proto_t proto, const char *identity, const uint8_t *key, unsigned key_len) |
| Creates a new client session to the designated server with PSK credentials. | |
| coap_session_t * | coap_new_client_session_psk2_lkd (coap_context_t *ctx, const coap_address_t *local_if, const coap_address_t *server, coap_proto_t proto, coap_dtls_cpsk_t *setup_data) |
| Creates a new client session to the designated server with PSK credentials. | |
| int | coap_session_reconnect (coap_session_t *session) |
| Close the current session (if not already closed) and reconnect to server (client session only). | |
| coap_session_t * | coap_session_new_dtls_session (coap_session_t *session, coap_tick_t now) |
Create a new DTLS session for the session. | |
| void | coap_session_server_keepalive_failed (coap_session_t *session) |
| Clear down a session following a keepalive failure. | |
| void * | coap_session_set_app_data2_lkd (coap_session_t *session, void *data, coap_app_data_free_callback_t callback) |
Stores data with the given session, returning the previously stored value or NULL. | |
| void * | coap_endpoint_set_app_data_lkd (coap_endpoint_t *endpoint, void *data, coap_app_data_free_callback_t callback) |
Stores data with the given endpoint, returning the previously stored value or NULL. | |
| void | coap_session_free (coap_session_t *session) |
| void | coap_session_mfree (coap_session_t *session) |
| void | coap_read_session (coap_context_t *ctx, coap_session_t *session, coap_tick_t now) |
| void | coap_connect_session (coap_session_t *session, coap_tick_t now) |
| void | coap_handle_nack (coap_session_t *session, coap_pdu_t *sent, const coap_nack_reason_t reason, const coap_mid_t mid) |
| void | coap_session_failed (coap_session_t *session) |
| Session has failed due to a socket error. | |
| void | coap_session_reestablished (coap_session_t *session) |
| Session has been re-connected to server. | |
CoAP session internal information.
Definition in file coap_session_internal.h.
| #define COAP_DEFAULT_MAX_HANDSHAKE_SESSIONS 100 |
Definition at line 31 of file coap_session_internal.h.
| #define COAP_DEFAULT_SESSION_TIMEOUT 300 |
Definition at line 29 of file coap_session_internal.h.
| #define COAP_PARTIAL_SESSION_TIMEOUT_TICKS (30 * COAP_TICKS_PER_SECOND) |
Definition at line 30 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 873 of file coap_session_internal.h.
| #define SESSIONS_DELETE | ( | e, | |
| obj | |||
| ) | HASH_DELETE(hh, (e), (obj)) |
Definition at line 876 of file coap_session_internal.h.
| #define SESSIONS_FIND | ( | e, | |
| k, | |||
| res | |||
| ) |
Definition at line 885 of file coap_session_internal.h.
| #define SESSIONS_ITER | ( | e, | |
| el, | |||
| rtmp | |||
| ) | HASH_ITER(hh, (e), el, rtmp) |
Definition at line 879 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 882 of file coap_session_internal.h.