|
libcoap 4.3.5-develop-13abce9
|
Abstraction of virtual session that can be attached to coap_context_t (client) or coap_endpoint_t (server). More...
#include <coap_session_internal.h>
Collaboration diagram for coap_session_t:Data Fields | |
| coap_proto_t | proto |
| protocol used | |
| coap_session_type_t | type |
| client or server side socket | |
| coap_session_state_t | state |
| current state of relationship with peer | |
| unsigned | ref |
| reference count from queues | |
| size_t | tls_overhead |
| overhead of TLS layer | |
| size_t | mtu |
| path or CSM mtu (xmt) | |
| size_t | csm_rcv_mtu |
| CSM mtu (rcv) | |
| coap_addr_hash_t | addr_hash |
| Address hash for server incoming packets. | |
| UT_hash_handle | hh |
| coap_addr_tuple_t | addr_info |
| remote/local address info | |
| coap_address_t | local_reconnect |
| local address to initiate reconnect from | |
| int | ifindex |
| interface index | |
| unsigned | ref_subscriptions |
| reference count of current subscriptions | |
| unsigned | ref_proxy_subs |
| reference count of current proxy subscriptions | |
| coap_socket_t | sock |
| socket object for the session, if any | |
| coap_endpoint_t * | endpoint |
| session's endpoint | |
| coap_context_t * | context |
| session's context | |
| void * | tls |
| security parameters | |
| uint16_t | tx_mid |
| the last message id that was used in this session | |
| uint8_t | con_active |
| Active CON request sent. | |
| uint8_t | csm_block_supported |
| CSM TCP blocks supported. | |
| coap_mid_t | last_ping_mid |
| the last keepalive message id that was used in this session | |
| coap_queue_t * | delayqueue |
| list of delayed messages waiting to be sent | |
| coap_lg_xmit_t * | lg_xmit |
| list of large transmissions | |
| coap_lg_crcv_t * | lg_crcv |
| Client list of expected large receives. | |
| coap_lg_srcv_t * | lg_srcv |
| Server list of expected large receives. | |
| size_t | partial_write |
| if > 0 indicates number of bytes already written from the pdu at the head of sendqueue | |
| uint8_t | read_header [8] |
| storage space for header of incoming message header | |
| size_t | partial_read |
| if > 0 indicates number of bytes already read for an incoming message | |
| coap_pdu_t * | partial_pdu |
| incomplete incoming pdu | |
| coap_tick_t | last_rx_tx |
| coap_tick_t | last_tx_rst |
| coap_tick_t | last_ping |
| coap_tick_t | last_pong |
| coap_tick_t | csm_tx |
| coap_dtls_cpsk_t | cpsk_setup_data |
| client provided PSK initial setup data | |
| coap_bin_const_t * | psk_identity |
| If client, this field contains the current identity for server; When this field is NULL, the current identity is contained in cpsk_setup_data. | |
| coap_bin_const_t * | psk_key |
| If client, this field contains the current pre-shared key for server; When this field is NULL, the current key is contained in cpsk_setup_data. | |
| coap_bin_const_t * | psk_hint |
| If client, this field contains the server provided identity hint. | |
| void * | app_data |
| application-specific data | |
| coap_app_data_free_callback_t | app_cb |
| call-back to release app_data | |
| coap_fixed_point_t | ack_timeout |
| timeout waiting for ack (default 2.0 secs) | |
| coap_fixed_point_t | ack_random_factor |
| ack random factor backoff (default 1.5) | |
| uint16_t | max_retransmit |
| maximum re-transmit count (default 4) | |
| uint16_t | nstart |
| maximum concurrent confirmable xmits (default 1) | |
| coap_fixed_point_t | default_leisure |
| Mcast leisure time (default 5.0 secs) | |
| uint32_t | probing_rate |
| Max transfer wait when remote is not respoding (default 1 byte/sec) | |
| unsigned int | dtls_timeout_count |
| dtls setup retry counter | |
| int | dtls_event |
| Tracking any (D)TLS events on this session. | |
| uint32_t | tx_rtag |
| Next Request-Tag number to use. | |
| uint32_t | block_mode |
| Zero or more COAP_BLOCK_ or'd options. | |
| uint8_t | csm_bert_rem_support |
| CSM TCP BERT blocks supported (remote) | |
| uint8_t | csm_bert_loc_support |
| CSM TCP BERT blocks supported (local) | |
| uint8_t | doing_first |
| Set if doing client's first request. | |
| uint8_t | proxy_session |
| Set if this is an ongoing proxy session. | |
| uint8_t | delay_recursive |
| Set if in coap_client_delay_first() | |
| uint8_t | no_observe_cancel |
| Set if do not cancel observe on session close. | |
| uint8_t | csm_not_seen |
| Set if timeout waiting for CSM. | |
| volatile uint8_t | max_token_checked |
| Check for max token size coap_ext_token_check_t. | |
| uint8_t | negotiated_cid |
| Set for a client if CID negotiated. | |
| uint8_t | doing_send_recv |
| Set if coap_send_recv() active. | |
| uint8_t | session_failed |
| Set if session failed and can try re-connect. | |
| uint8_t | is_dtls13 |
| Set if session is DTLS1.3. | |
| coap_mid_t | remote_test_mid |
| mid used for checking remote support | |
| uint32_t | max_token_size |
| Largest token size supported RFC8974. | |
| uint64_t | tx_token |
| Next token number to use. | |
| coap_bin_const_t * | last_token |
| coap_bin_const_t * | echo |
| last token used to make a request | |
| coap_mid_t | last_ack_mid |
| The last ACK mid that has been been processed. | |
| coap_mid_t | last_con_mid |
| The last CON mid that has been been processed. | |
| coap_response_t | last_con_handler_res |
| The result of calling the response handler of the last CON. | |
| coap_bin_const_t * | client_cid |
| Contains client CID or NULL. | |
| coap_pdu_t * | cached_pdu |
| Cached copy of last ACK response PDU. | |
| coap_digest_t | cached_pdu_cksum |
| Checksum of last CON request PDU. | |
| coap_pdu_t * | resp_pdu |
| PDU returned in coap_send_recv() call. | |
| coap_bin_const_t * | req_token |
| Token in request pdu of coap_send_recv() | |
Abstraction of virtual session that can be attached to coap_context_t (client) or coap_endpoint_t (server).
Definition at line 72 of file coap_session_internal.h.
| coap_fixed_point_t coap_session_t::ack_random_factor |
ack random factor backoff (default 1.5)
Definition at line 160 of file coap_session_internal.h.
| coap_fixed_point_t coap_session_t::ack_timeout |
timeout waiting for ack (default 2.0 secs)
Definition at line 158 of file coap_session_internal.h.
| coap_addr_hash_t coap_session_t::addr_hash |
Address hash for server incoming packets.
Definition at line 81 of file coap_session_internal.h.
| coap_addr_tuple_t coap_session_t::addr_info |
remote/local address info
Definition at line 83 of file coap_session_internal.h.
| coap_app_data_free_callback_t coap_session_t::app_cb |
call-back to release app_data
Definition at line 157 of file coap_session_internal.h.
| void* coap_session_t::app_data |
application-specific data
Definition at line 156 of file coap_session_internal.h.
| uint32_t coap_session_t::block_mode |
Zero or more COAP_BLOCK_ or'd options.
Definition at line 191 of file coap_session_internal.h.
| coap_pdu_t* coap_session_t::cached_pdu |
Cached copy of last ACK response PDU.
Definition at line 238 of file coap_session_internal.h.
| coap_digest_t coap_session_t::cached_pdu_cksum |
Checksum of last CON request PDU.
Definition at line 239 of file coap_session_internal.h.
| coap_bin_const_t* coap_session_t::client_cid |
Contains client CID or NULL.
Definition at line 237 of file coap_session_internal.h.
| uint8_t coap_session_t::con_active |
Active CON request sent.
Definition at line 101 of file coap_session_internal.h.
| coap_context_t* coap_session_t::context |
session's context
Definition at line 97 of file coap_session_internal.h.
| coap_dtls_cpsk_t coap_session_t::cpsk_setup_data |
client provided PSK initial setup data
Definition at line 127 of file coap_session_internal.h.
| uint8_t coap_session_t::csm_bert_loc_support |
CSM TCP BERT blocks supported (local)
Definition at line 193 of file coap_session_internal.h.
| uint8_t coap_session_t::csm_bert_rem_support |
CSM TCP BERT blocks supported (remote)
Definition at line 192 of file coap_session_internal.h.
| uint8_t coap_session_t::csm_block_supported |
CSM TCP blocks supported.
Definition at line 102 of file coap_session_internal.h.
| uint8_t coap_session_t::csm_not_seen |
Set if timeout waiting for CSM.
Definition at line 199 of file coap_session_internal.h.
| size_t coap_session_t::csm_rcv_mtu |
CSM mtu (rcv)
Definition at line 80 of file coap_session_internal.h.
| coap_tick_t coap_session_t::csm_tx |
Definition at line 126 of file coap_session_internal.h.
| coap_fixed_point_t coap_session_t::default_leisure |
Mcast leisure time (default 5.0 secs)
Definition at line 166 of file coap_session_internal.h.
| uint8_t coap_session_t::delay_recursive |
Set if in coap_client_delay_first()
Definition at line 196 of file coap_session_internal.h.
| coap_queue_t* coap_session_t::delayqueue |
list of delayed messages waiting to be sent
Definition at line 105 of file coap_session_internal.h.
| uint8_t coap_session_t::doing_first |
Set if doing client's first request.
Definition at line 194 of file coap_session_internal.h.
| uint8_t coap_session_t::doing_send_recv |
Set if coap_send_recv() active.
Definition at line 220 of file coap_session_internal.h.
| int coap_session_t::dtls_event |
Tracking any (D)TLS events on this session.
Definition at line 188 of file coap_session_internal.h.
| unsigned int coap_session_t::dtls_timeout_count |
dtls setup retry counter
Definition at line 187 of file coap_session_internal.h.
| coap_bin_const_t* coap_session_t::echo |
last token used to make a request
Echo value to send with next request
Definition at line 229 of file coap_session_internal.h.
| coap_endpoint_t* coap_session_t::endpoint |
session's endpoint
Definition at line 95 of file coap_session_internal.h.
| UT_hash_handle coap_session_t::hh |
Definition at line 82 of file coap_session_internal.h.
| int coap_session_t::ifindex |
interface index
Definition at line 87 of file coap_session_internal.h.
| uint8_t coap_session_t::is_dtls13 |
Set if session is DTLS1.3.
Definition at line 223 of file coap_session_internal.h.
| coap_mid_t coap_session_t::last_ack_mid |
The last ACK mid that has been been processed.
Definition at line 230 of file coap_session_internal.h.
| coap_response_t coap_session_t::last_con_handler_res |
The result of calling the response handler of the last CON.
Definition at line 234 of file coap_session_internal.h.
| coap_mid_t coap_session_t::last_con_mid |
The last CON mid that has been been processed.
Definition at line 232 of file coap_session_internal.h.
| coap_tick_t coap_session_t::last_ping |
Definition at line 124 of file coap_session_internal.h.
| coap_mid_t coap_session_t::last_ping_mid |
the last keepalive message id that was used in this session
Definition at line 103 of file coap_session_internal.h.
| coap_tick_t coap_session_t::last_pong |
Definition at line 125 of file coap_session_internal.h.
| coap_tick_t coap_session_t::last_rx_tx |
Definition at line 122 of file coap_session_internal.h.
| coap_bin_const_t* coap_session_t::last_token |
Definition at line 228 of file coap_session_internal.h.
| coap_tick_t coap_session_t::last_tx_rst |
Definition at line 123 of file coap_session_internal.h.
| coap_lg_crcv_t* coap_session_t::lg_crcv |
Client list of expected large receives.
Definition at line 109 of file coap_session_internal.h.
| coap_lg_srcv_t* coap_session_t::lg_srcv |
Server list of expected large receives.
Definition at line 112 of file coap_session_internal.h.
| coap_lg_xmit_t* coap_session_t::lg_xmit |
list of large transmissions
Definition at line 107 of file coap_session_internal.h.
| coap_address_t coap_session_t::local_reconnect |
local address to initiate reconnect from
Definition at line 85 of file coap_session_internal.h.
| uint16_t coap_session_t::max_retransmit |
maximum re-transmit count (default 4)
Definition at line 162 of file coap_session_internal.h.
| volatile uint8_t coap_session_t::max_token_checked |
Check for max token size coap_ext_token_check_t.
Definition at line 216 of file coap_session_internal.h.
| uint32_t coap_session_t::max_token_size |
Largest token size supported RFC8974.
Definition at line 226 of file coap_session_internal.h.
| size_t coap_session_t::mtu |
path or CSM mtu (xmt)
Definition at line 79 of file coap_session_internal.h.
| uint8_t coap_session_t::negotiated_cid |
Set for a client if CID negotiated.
Definition at line 219 of file coap_session_internal.h.
| uint8_t coap_session_t::no_observe_cancel |
Set if do not cancel observe on session close.
Definition at line 197 of file coap_session_internal.h.
| uint16_t coap_session_t::nstart |
maximum concurrent confirmable xmits (default 1)
Definition at line 164 of file coap_session_internal.h.
| coap_pdu_t* coap_session_t::partial_pdu |
incomplete incoming pdu
Definition at line 121 of file coap_session_internal.h.
| size_t coap_session_t::partial_read |
if > 0 indicates number of bytes already read for an incoming message
Definition at line 119 of file coap_session_internal.h.
| size_t coap_session_t::partial_write |
if > 0 indicates number of bytes already written from the pdu at the head of sendqueue
Definition at line 114 of file coap_session_internal.h.
| uint32_t coap_session_t::probing_rate |
Max transfer wait when remote is not respoding (default 1 byte/sec)
Definition at line 168 of file coap_session_internal.h.
| coap_proto_t coap_session_t::proto |
protocol used
Definition at line 73 of file coap_session_internal.h.
| uint8_t coap_session_t::proxy_session |
Set if this is an ongoing proxy session.
Definition at line 195 of file coap_session_internal.h.
| coap_bin_const_t* coap_session_t::psk_hint |
If client, this field contains the server provided identity hint.
If server, this field contains the current hint for the client; When this field is NULL, the current hint is contained in context->spsk_setup_data
Value maintained internally
Definition at line 147 of file coap_session_internal.h.
| coap_bin_const_t* coap_session_t::psk_identity |
If client, this field contains the current identity for server; When this field is NULL, the current identity is contained in cpsk_setup_data.
If server, this field contains the client provided identity.
Value maintained internally
Definition at line 129 of file coap_session_internal.h.
| coap_bin_const_t* coap_session_t::psk_key |
If client, this field contains the current pre-shared key for server; When this field is NULL, the current key is contained in cpsk_setup_data.
If server, this field contains the client's current key.
Value maintained internally
Definition at line 138 of file coap_session_internal.h.
| uint8_t coap_session_t::read_header[8] |
storage space for header of incoming message header
Definition at line 117 of file coap_session_internal.h.
| unsigned coap_session_t::ref |
reference count from queues
Definition at line 77 of file coap_session_internal.h.
| unsigned coap_session_t::ref_proxy_subs |
reference count of current proxy subscriptions
Definition at line 90 of file coap_session_internal.h.
| unsigned coap_session_t::ref_subscriptions |
reference count of current subscriptions
Definition at line 89 of file coap_session_internal.h.
| coap_mid_t coap_session_t::remote_test_mid |
mid used for checking remote support
Definition at line 224 of file coap_session_internal.h.
| coap_bin_const_t* coap_session_t::req_token |
Token in request pdu of coap_send_recv()
Definition at line 243 of file coap_session_internal.h.
| coap_pdu_t* coap_session_t::resp_pdu |
PDU returned in coap_send_recv() call.
Definition at line 242 of file coap_session_internal.h.
| uint8_t coap_session_t::session_failed |
Set if session failed and can try re-connect.
Definition at line 221 of file coap_session_internal.h.
| coap_socket_t coap_session_t::sock |
socket object for the session, if any
Definition at line 92 of file coap_session_internal.h.
| coap_session_state_t coap_session_t::state |
current state of relationship with peer
Definition at line 75 of file coap_session_internal.h.
| void* coap_session_t::tls |
security parameters
Definition at line 98 of file coap_session_internal.h.
| size_t coap_session_t::tls_overhead |
overhead of TLS layer
Definition at line 78 of file coap_session_internal.h.
| uint16_t coap_session_t::tx_mid |
the last message id that was used in this session
Definition at line 99 of file coap_session_internal.h.
| uint32_t coap_session_t::tx_rtag |
Next Request-Tag number to use.
Definition at line 190 of file coap_session_internal.h.
| uint64_t coap_session_t::tx_token |
Next token number to use.
Definition at line 227 of file coap_session_internal.h.
| coap_session_type_t coap_session_t::type |
client or server side socket
Definition at line 74 of file coap_session_internal.h.