libcoap 4.3.5-develop-72190a8
|
Abstraction of virtual session that can be attached to coap_context_t (client) or coap_endpoint_t (server). More...
#include <coap_session_internal.h>
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 | |
int | ifindex |
interface index | |
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 |
application-specific 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 | 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 * | 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 68 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 148 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 146 of file coap_session_internal.h.
coap_addr_hash_t coap_session_t::addr_hash |
Address hash for server incoming packets.
Definition at line 77 of file coap_session_internal.h.
coap_addr_tuple_t coap_session_t::addr_info |
remote/local address info
Definition at line 79 of file coap_session_internal.h.
void* coap_session_t::app |
application-specific data
Definition at line 145 of file coap_session_internal.h.
uint32_t coap_session_t::block_mode |
Zero or more COAP_BLOCK_ or'd options.
Definition at line 179 of file coap_session_internal.h.
coap_bin_const_t* coap_session_t::client_cid |
Contains client CID or NULL.
Definition at line 224 of file coap_session_internal.h.
uint8_t coap_session_t::con_active |
Active CON request sent.
Definition at line 90 of file coap_session_internal.h.
coap_context_t* coap_session_t::context |
session's context
Definition at line 86 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 116 of file coap_session_internal.h.
uint8_t coap_session_t::csm_bert_loc_support |
CSM TCP BERT blocks supported (local)
Definition at line 181 of file coap_session_internal.h.
uint8_t coap_session_t::csm_bert_rem_support |
CSM TCP BERT blocks supported (remote)
Definition at line 180 of file coap_session_internal.h.
uint8_t coap_session_t::csm_block_supported |
CSM TCP blocks supported.
Definition at line 91 of file coap_session_internal.h.
uint8_t coap_session_t::csm_not_seen |
Set if timeout waiting for CSM.
Definition at line 187 of file coap_session_internal.h.
size_t coap_session_t::csm_rcv_mtu |
CSM mtu (rcv)
Definition at line 76 of file coap_session_internal.h.
coap_tick_t coap_session_t::csm_tx |
Definition at line 115 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 154 of file coap_session_internal.h.
uint8_t coap_session_t::delay_recursive |
Set if in coap_client_delay_first()
Definition at line 184 of file coap_session_internal.h.
coap_queue_t* coap_session_t::delayqueue |
list of delayed messages waiting to be sent
Definition at line 94 of file coap_session_internal.h.
uint8_t coap_session_t::doing_first |
Set if doing client's first request.
Definition at line 182 of file coap_session_internal.h.
uint8_t coap_session_t::doing_send_recv |
Set if coap_send_recv() active.
Definition at line 208 of file coap_session_internal.h.
int coap_session_t::dtls_event |
Tracking any (D)TLS events on this session.
Definition at line 176 of file coap_session_internal.h.
unsigned int coap_session_t::dtls_timeout_count |
dtls setup retry counter
Definition at line 175 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 216 of file coap_session_internal.h.
coap_endpoint_t* coap_session_t::endpoint |
session's endpoint
Definition at line 84 of file coap_session_internal.h.
UT_hash_handle coap_session_t::hh |
Definition at line 78 of file coap_session_internal.h.
int coap_session_t::ifindex |
interface index
Definition at line 80 of file coap_session_internal.h.
uint8_t coap_session_t::is_dtls13 |
Set if session is DTLS1.3.
Definition at line 210 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 217 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 221 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 219 of file coap_session_internal.h.
coap_tick_t coap_session_t::last_ping |
Definition at line 113 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 92 of file coap_session_internal.h.
coap_tick_t coap_session_t::last_pong |
Definition at line 114 of file coap_session_internal.h.
coap_tick_t coap_session_t::last_rx_tx |
Definition at line 111 of file coap_session_internal.h.
coap_bin_const_t* coap_session_t::last_token |
Definition at line 215 of file coap_session_internal.h.
coap_tick_t coap_session_t::last_tx_rst |
Definition at line 112 of file coap_session_internal.h.
coap_lg_crcv_t* coap_session_t::lg_crcv |
Client list of expected large receives.
Definition at line 98 of file coap_session_internal.h.
coap_lg_srcv_t* coap_session_t::lg_srcv |
Server list of expected large receives.
Definition at line 101 of file coap_session_internal.h.
coap_lg_xmit_t* coap_session_t::lg_xmit |
list of large transmissions
Definition at line 96 of file coap_session_internal.h.
uint16_t coap_session_t::max_retransmit |
maximum re-transmit count (default 4)
Definition at line 150 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 204 of file coap_session_internal.h.
uint32_t coap_session_t::max_token_size |
Largest token size supported RFC8974.
Definition at line 213 of file coap_session_internal.h.
size_t coap_session_t::mtu |
path or CSM mtu (xmt)
Definition at line 75 of file coap_session_internal.h.
uint8_t coap_session_t::negotiated_cid |
Set for a client if CID negotiated.
Definition at line 207 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 185 of file coap_session_internal.h.
uint16_t coap_session_t::nstart |
maximum concurrent confirmable xmits (default 1)
Definition at line 152 of file coap_session_internal.h.
coap_pdu_t* coap_session_t::partial_pdu |
incomplete incoming pdu
Definition at line 110 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 108 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 103 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 156 of file coap_session_internal.h.
coap_proto_t coap_session_t::proto |
protocol used
Definition at line 69 of file coap_session_internal.h.
uint8_t coap_session_t::proxy_session |
Set if this is an ongoing proxy session.
Definition at line 183 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 136 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 118 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 127 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 106 of file coap_session_internal.h.
unsigned coap_session_t::ref |
reference count from queues
Definition at line 73 of file coap_session_internal.h.
coap_mid_t coap_session_t::remote_test_mid |
mid used for checking remote support
Definition at line 211 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 228 of file coap_session_internal.h.
coap_pdu_t* coap_session_t::resp_pdu |
PDU returned in coap_send_recv() call.
Definition at line 227 of file coap_session_internal.h.
coap_socket_t coap_session_t::sock |
socket object for the session, if any
Definition at line 81 of file coap_session_internal.h.
coap_session_state_t coap_session_t::state |
current state of relationship with peer
Definition at line 71 of file coap_session_internal.h.
void* coap_session_t::tls |
security parameters
Definition at line 87 of file coap_session_internal.h.
size_t coap_session_t::tls_overhead |
overhead of TLS layer
Definition at line 74 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 88 of file coap_session_internal.h.
uint32_t coap_session_t::tx_rtag |
Next Request-Tag number to use.
Definition at line 178 of file coap_session_internal.h.
uint64_t coap_session_t::tx_token |
Next token number to use.
Definition at line 214 of file coap_session_internal.h.
coap_session_type_t coap_session_t::type |
client or server side socket
Definition at line 70 of file coap_session_internal.h.