coap_session_t Struct Reference
Sessions (Internal)

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:
[legend]

## 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 relationaship 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 More...
coap_addr_hash_t | addr_hash
| Address hash for server incoming packets. More...
UT_hash_handle | hh
coap_addr_tuple_t | addr_info
| key: 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...
unsigned int | max_retransmit
| maximum re-transmit count (default 4) More...
coap_fixed_point_t | ack_timeout
| timeout waiting for ack (default 2 secs) More...
coap_fixed_point_t | ack_random_factor
| ack random factor backoff (default 1.5) More...
unsigned int | dtls_timeout_count
| dtls setup retry counter More...
int | dtls_event
| Tracking any (D)TLS events on this sesison. More...
uint8_t | block_mode
| Zero or more COAP_BLOCK_ or'd options. More...
uint64_t | tx_token
| Next token number to use. More...

## Detailed Description

Abstraction of virtual session that can be attached to coap_context_t (client) or coap_endpoint_t (server).

Definition at line 48 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 123 of file coap_session_internal.h.

## ack_timeout

coap_fixed_point_t coap_session_t::ack_timeout

timeout waiting for ack (default 2 secs)

Definition at line 121 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 56 of file coap_session_internal.h.

## addr_info

coap_addr_tuple_t coap_session_t::addr_info

key: remote/local address info

Definition at line 58 of file coap_session_internal.h.

## app

void* coap_session_t::app

application-specific data

Definition at line 118 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 128 of file coap_session_internal.h.

## con_active

uint8_t coap_session_t::con_active

Active CON request sent.

Definition at line 67 of file coap_session_internal.h.

## context

coap_context_t* coap_session_t::context

session's context

Definition at line 63 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 89 of file coap_session_internal.h.

## csm_block_supported

uint8_t coap_session_t::csm_block_supported

CSM TCP blocks supported.

Definition at line 68 of file coap_session_internal.h.

## csm_tx

coap_tick_t coap_session_t::csm_tx

Definition at line 88 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 71 of file coap_session_internal.h.

## dtls_event

int coap_session_t::dtls_event

Tracking any (D)TLS events on this sesison.

Definition at line 126 of file coap_session_internal.h.

## dtls_timeout_count

unsigned int coap_session_t::dtls_timeout_count

dtls setup retry counter

Definition at line 125 of file coap_session_internal.h.

## endpoint

coap_endpoint_t* coap_session_t::endpoint

session's endpoint

Definition at line 62 of file coap_session_internal.h.

## hh

UT_hash_handle coap_session_t::hh

Definition at line 57 of file coap_session_internal.h.

## ifindex

int coap_session_t::ifindex

interface index

Definition at line 59 of file coap_session_internal.h.

## last_ping

coap_tick_t coap_session_t::last_ping

Definition at line 86 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 69 of file coap_session_internal.h.

## last_pong

coap_tick_t coap_session_t::last_pong

Definition at line 87 of file coap_session_internal.h.

## last_rx_tx

coap_tick_t coap_session_t::last_rx_tx

Definition at line 84 of file coap_session_internal.h.

## last_tx_rst

coap_tick_t coap_session_t::last_tx_rst

Definition at line 85 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 74 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 75 of file coap_session_internal.h.

## lg_xmit

coap_lg_xmit_t* coap_session_t::lg_xmit

list of large transmissions

Definition at line 73 of file coap_session_internal.h.

## max_retransmit

unsigned int coap_session_t::max_retransmit

maximum re-transmit count (default 4)

Definition at line 119 of file coap_session_internal.h.

## mtu

size_t coap_session_t::mtu

path or CSM mtu

Definition at line 55 of file coap_session_internal.h.

## partial_pdu

coap_pdu_t* coap_session_t::partial_pdu

incomplete incoming pdu

Definition at line 83 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 81 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 76 of file coap_session_internal.h.

## proto

coap_proto_t coap_session_t::proto

protocol used

Definition at line 49 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 109 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 91 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 100 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 79 of file coap_session_internal.h.

## ref

unsigned coap_session_t::ref

reference count from queues

Definition at line 53 of file coap_session_internal.h.

## sock

coap_socket_t coap_session_t::sock

socket object for the session, if any

Definition at line 60 of file coap_session_internal.h.

## state

coap_session_state_t coap_session_t::state

current state of relationaship with peer

Definition at line 51 of file coap_session_internal.h.

## tls

void* coap_session_t::tls

security parameters

Definition at line 64 of file coap_session_internal.h.

## tls_overhead

size_t coap_session_t::tls_overhead

overhead of TLS layer

Definition at line 54 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 65 of file coap_session_internal.h.

## tx_token

uint64_t coap_session_t::tx_token

Next token number to use.

Definition at line 129 of file coap_session_internal.h.

## type

coap_session_type_t coap_session_t::type

client or server side socket

Definition at line 50 of file coap_session_internal.h.

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

- coap_session_internal.h