libcoap 4.3.2rc2

Data Fields
coap_session_t Struct Reference
Libcoap Internal API » Sessions

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 More...
coap_session_type_t | type
| client or server side socket More...
coap_session_state_t | state
| current state of relationship with peer More...
unsigned | ref
| reference count from queues More...
size_t | tls_overhead
| overhead of TLS layer More...
size_t | mtu
| path or CSM mtu (xmt) More...
size_t | csm_rcv_mtu
| CSM mtu (rcv) More...
coap_addr_hash_t | addr_hash
| Address hash for server incoming packets. More...
UT_hash_handle | hh
coap_addr_tuple_t | addr_info
| remote/local address info More...
int | ifindex
| interface index More...
coap_socket_t | sock
| socket object for the session, if any More...
coap_endpoint_t * | endpoint
| session's endpoint More...
coap_context_t * | context
| session's context More...
void * | tls
| security parameters More...
uint16_t | tx_mid
| the last message id that was used in this session More...
uint8_t | con_active
| Active CON request sent. More...
uint8_t | csm_block_supported
| CSM TCP blocks supported. More...
coap_mid_t | last_ping_mid
| the last keepalive message id that was used in this session More...
coap_queue_t * | delayqueue
| list of delayed messages waiting to be sent More...
coap_lg_xmit_t * | lg_xmit
| list of large transmissions More...
coap_lg_crcv_t * | lg_crcv
| Client list of expected large receives. More...
coap_lg_srcv_t * | lg_srcv
| Server list of expected large receives. More...
size_t | partial_write
| if > 0 indicates number of bytes already written from the pdu at the head of sendqueue More...
uint8_t | read_header [8]
| storage space for header of incoming message header More...
size_t | partial_read
| if > 0 indicates number of bytes already read for an incoming message More...
coap_pdu_t * | partial_pdu
| incomplete incoming pdu More...
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 More...
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. More...
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. More...
coap_bin_const_t * | psk_hint
| If client, this field contains the server provided identity hint. More...
void * | app
| application-specific data More...
coap_fixed_point_t | ack_timeout
| timeout waiting for ack (default 2.0 secs) More...
coap_fixed_point_t | ack_random_factor
| ack random factor backoff (default 1.5) More...
uint16_t | max_retransmit
| maximum re-transmit count (default 4) More...
uint16_t | nstart
| maximum concurrent confirmable xmits (default 1) More...
coap_fixed_point_t | default_leisure
| Mcast leisure time (default 5.0 secs) More...
uint32_t | probing_rate
| Max transfer wait when remote is not respoding (default 1 byte/sec) More...
unsigned int | dtls_timeout_count
| dtls setup retry counter More...
int | dtls_event
| Tracking any (D)TLS events on this session. More...
uint32_t | tx_rtag
| Next Request-Tag number to use. More...
uint8_t | csm_bert_rem_support
| CSM TCP BERT blocks supported (remote) More...
uint8_t | csm_bert_loc_support
| CSM TCP BERT blocks supported (local) More...
uint8_t | block_mode
| Zero or more COAP_BLOCK_ or'd options. More...
uint8_t | doing_first
| Set if doing client's first request. More...
uint8_t | proxy_session
| Set if this is an ongoing proxy session. More...
uint8_t | delay_recursive
| Set if in coap_client_delay_first() More...
uint8_t | no_observe_cancel
| Set if do not cancel observe on session close. More...
volatile uint8_t | max_token_checked
| Check for max token size coap_ext_token_check_t. More...
uint16_t | remote_test_mid
| mid used for checking remote support More...
uint32_t | max_token_size
| Largest token size supported RFC8974. More...
uint64_t | tx_token
| Next token number to use. More...
coap_bin_const_t * | last_token
coap_bin_const_t * | echo
| last token used to make a request More...
coap_mid_t | last_ack_mid
| The last ACK mid that has been been processed. More...
coap_mid_t | last_con_mid
| The last CON mid that has been been processed. More...

## Detailed Description

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.

## Field Documentation

## ◆ ack_random_factor

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.

## ◆ ack_timeout

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.

## ◆ addr_hash

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.

## ◆ addr_info

coap_addr_tuple_t coap_session_t::addr_info

remote/local address info

Definition at line 79 of file coap_session_internal.h.

## ◆ app

void* coap_session_t::app

application-specific data

Definition at line 145 of file coap_session_internal.h.

## ◆ block_mode

uint8_t coap_session_t::block_mode

Zero or more COAP_BLOCK_ or'd options.

Definition at line 181 of file coap_session_internal.h.

## ◆ con_active

uint8_t coap_session_t::con_active

Active CON request sent.

Definition at line 90 of file coap_session_internal.h.

## ◆ context

coap_context_t* coap_session_t::context

session's context

Definition at line 86 of file coap_session_internal.h.

## ◆ cpsk_setup_data

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.

## ◆ csm_bert_loc_support

uint8_t coap_session_t::csm_bert_loc_support

CSM TCP BERT blocks supported (local)

Definition at line 180 of file coap_session_internal.h.

## ◆ csm_bert_rem_support

uint8_t coap_session_t::csm_bert_rem_support

CSM TCP BERT blocks supported (remote)

Definition at line 179 of file coap_session_internal.h.

## ◆ csm_block_supported

uint8_t coap_session_t::csm_block_supported

CSM TCP blocks supported.

Definition at line 91 of file coap_session_internal.h.

## ◆ csm_rcv_mtu

size_t coap_session_t::csm_rcv_mtu

CSM mtu (rcv)

Definition at line 76 of file coap_session_internal.h.

## ◆ csm_tx

coap_tick_t coap_session_t::csm_tx

Definition at line 115 of file coap_session_internal.h.

## ◆ default_leisure

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.

## ◆ delay_recursive

uint8_t coap_session_t::delay_recursive

Set if in coap_client_delay_first()

Definition at line 184 of file coap_session_internal.h.

## ◆ delayqueue

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.

## ◆ doing_first

uint8_t coap_session_t::doing_first

Set if doing client's first request.

Definition at line 182 of file coap_session_internal.h.

## ◆ dtls_event

int coap_session_t::dtls_event

Tracking any (D)TLS events on this session.

Definition at line 176 of file coap_session_internal.h.

## ◆ dtls_timeout_count

unsigned int coap_session_t::dtls_timeout_count

dtls setup retry counter

Definition at line 175 of file coap_session_internal.h.

## ◆ echo

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 207 of file coap_session_internal.h.

## ◆ endpoint

coap_endpoint_t* coap_session_t::endpoint

session's endpoint

Definition at line 84 of file coap_session_internal.h.

## ◆ hh

UT_hash_handle coap_session_t::hh

Definition at line 78 of file coap_session_internal.h.

## ◆ ifindex

int coap_session_t::ifindex

interface index

Definition at line 80 of file coap_session_internal.h.

## ◆ last_ack_mid

coap_mid_t coap_session_t::last_ack_mid

The last ACK mid that has been been processed.

Definition at line 208 of file coap_session_internal.h.

## ◆ last_con_mid

coap_mid_t coap_session_t::last_con_mid

The last CON mid that has been been processed.

Definition at line 210 of file coap_session_internal.h.

## ◆ last_ping

coap_tick_t coap_session_t::last_ping

Definition at line 113 of file coap_session_internal.h.

## ◆ last_ping_mid

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.

## ◆ last_pong

coap_tick_t coap_session_t::last_pong

Definition at line 114 of file coap_session_internal.h.

## ◆ last_rx_tx

coap_tick_t coap_session_t::last_rx_tx

Definition at line 111 of file coap_session_internal.h.

## ◆ last_token

coap_bin_const_t* coap_session_t::last_token

Definition at line 206 of file coap_session_internal.h.

## ◆ last_tx_rst

coap_tick_t coap_session_t::last_tx_rst

Definition at line 112 of file coap_session_internal.h.

## ◆ lg_crcv

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.

## ◆ lg_srcv

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.

## ◆ lg_xmit

coap_lg_xmit_t* coap_session_t::lg_xmit

list of large transmissions

Definition at line 96 of file coap_session_internal.h.

## ◆ max_retransmit

uint16_t coap_session_t::max_retransmit

maximum re-transmit count (default 4)

Definition at line 150 of file coap_session_internal.h.

## ◆ max_token_checked

volatile uint8_t coap_session_t::max_token_checked

Check for max token size coap_ext_token_check_t.

Definition at line 200 of file coap_session_internal.h.

## ◆ max_token_size

uint32_t coap_session_t::max_token_size

Largest token size supported RFC8974.

Definition at line 204 of file coap_session_internal.h.

## ◆ mtu

size_t coap_session_t::mtu

path or CSM mtu (xmt)

Definition at line 75 of file coap_session_internal.h.

## ◆ no_observe_cancel

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.

## ◆ nstart

uint16_t coap_session_t::nstart

maximum concurrent confirmable xmits (default 1)

Definition at line 152 of file coap_session_internal.h.

## ◆ partial_pdu

coap_pdu_t* coap_session_t::partial_pdu

incomplete incoming pdu

Definition at line 110 of file coap_session_internal.h.

## ◆ partial_read

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.

## ◆ partial_write

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.

## ◆ probing_rate

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.

## ◆ proto

coap_proto_t coap_session_t::proto

protocol used

Definition at line 69 of file coap_session_internal.h.

## ◆ proxy_session

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.

## ◆ psk_hint

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.

## ◆ psk_identity

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.

## ◆ psk_key

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.

## ◆ read_header

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.

## ◆ ref

unsigned coap_session_t::ref

reference count from queues

Definition at line 73 of file coap_session_internal.h.

## ◆ remote_test_mid

uint16_t coap_session_t::remote_test_mid

mid used for checking remote support

Definition at line 202 of file coap_session_internal.h.

## ◆ sock

coap_socket_t coap_session_t::sock

socket object for the session, if any

Definition at line 81 of file coap_session_internal.h.

## ◆ state

coap_session_state_t coap_session_t::state

current state of relationship with peer

Definition at line 71 of file coap_session_internal.h.

## ◆ tls

void* coap_session_t::tls

security parameters

Definition at line 87 of file coap_session_internal.h.

## ◆ tls_overhead

size_t coap_session_t::tls_overhead

overhead of TLS layer

Definition at line 74 of file coap_session_internal.h.

## ◆ tx_mid

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.

## ◆ tx_rtag

uint32_t coap_session_t::tx_rtag

Next Request-Tag number to use.

Definition at line 178 of file coap_session_internal.h.

## ◆ tx_token

uint64_t coap_session_t::tx_token

Next token number to use.

Definition at line 205 of file coap_session_internal.h.

## ◆ type

coap_session_type_t coap_session_t::type

client or server side socket

Definition at line 70 of file coap_session_internal.h.

The documentation for this struct was generated from the following file:

- coap_session_internal.h