libcoap  4.3.0rc3
coap_session_t Struct Reference

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

int ref
 
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_tendpoint
 session's endpoint More...
 
coap_context_tcontext
 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_tdelayqueue
 list of delayed messages waiting to be sent More...
 
coap_lg_xmit_tlg_xmit
 list of large transmissions More...
 
coap_lg_crcv_tlg_crcv
 Client list of expected large receives. More...
 
coap_lg_srcv_tlg_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_tpartial_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_tpsk_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_tpsk_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_tpsk_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 5 of file cov_session_reference_model.c.

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 121 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 119 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 54 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 56 of file coap_session_internal.h.

◆ app

void* coap_session_t::app

application-specific data

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

◆ con_active

uint8_t coap_session_t::con_active

Active CON request sent.

Definition at line 65 of file coap_session_internal.h.

◆ context

coap_context_t* coap_session_t::context

session's context

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

◆ csm_block_supported

uint8_t coap_session_t::csm_block_supported

CSM TCP blocks supported.

Definition at line 66 of file coap_session_internal.h.

◆ csm_tx

coap_tick_t coap_session_t::csm_tx

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

◆ dtls_timeout_count

unsigned int coap_session_t::dtls_timeout_count

dtls setup retry counter

Definition at line 123 of file coap_session_internal.h.

◆ endpoint

coap_endpoint_t* coap_session_t::endpoint

session's endpoint

Definition at line 60 of file coap_session_internal.h.

◆ hh

UT_hash_handle coap_session_t::hh

Definition at line 55 of file coap_session_internal.h.

◆ ifindex

int coap_session_t::ifindex

interface index

Definition at line 57 of file coap_session_internal.h.

◆ last_ping

coap_tick_t coap_session_t::last_ping

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

◆ last_pong

coap_tick_t coap_session_t::last_pong

Definition at line 85 of file coap_session_internal.h.

◆ last_rx_tx

coap_tick_t coap_session_t::last_rx_tx

Definition at line 82 of file coap_session_internal.h.

◆ last_tx_rst

coap_tick_t coap_session_t::last_tx_rst

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

◆ lg_xmit

coap_lg_xmit_t* coap_session_t::lg_xmit

list of large transmissions

Definition at line 71 of file coap_session_internal.h.

◆ max_retransmit

unsigned int coap_session_t::max_retransmit

maximum re-transmit count (default 4)

Definition at line 117 of file coap_session_internal.h.

◆ mtu

size_t coap_session_t::mtu

path or CSM mtu

Definition at line 53 of file coap_session_internal.h.

◆ partial_pdu

coap_pdu_t* coap_session_t::partial_pdu

incomplete incoming pdu

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

◆ proto

coap_proto_t coap_session_t::proto

protocol used

Definition at line 47 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 107 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 89 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 98 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 77 of file coap_session_internal.h.

◆ ref [1/2]

unsigned coap_session_t::ref

reference count from queues

Definition at line 51 of file coap_session_internal.h.

◆ ref [2/2]

int coap_session_t::ref

Definition at line 6 of file cov_session_reference_model.c.

◆ sock

coap_socket_t coap_session_t::sock

socket object for the session, if any

Definition at line 58 of file coap_session_internal.h.

◆ state

coap_session_state_t coap_session_t::state

current state of relationaship with peer

Definition at line 49 of file coap_session_internal.h.

◆ tls

void* coap_session_t::tls

security parameters

Definition at line 62 of file coap_session_internal.h.

◆ tls_overhead

size_t coap_session_t::tls_overhead

overhead of TLS layer

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

◆ tx_token

uint64_t coap_session_t::tx_token

Next token number to use.

Definition at line 127 of file coap_session_internal.h.

◆ type

coap_session_type_t coap_session_t::type

client or server side socket

Definition at line 48 of file coap_session_internal.h.


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