libcoap 4.3.1
Block Transfer

Internal API for Block Transfer (RC7959) More...

+ Collaboration diagram for Block Transfer:

Data Structures

struct  coap_lg_range
 
struct  coap_rblock_t
 Structure to keep track of received blocks. More...
 
struct  coap_l_block1_t
 Structure to keep track of block1 specific information (Requests) More...
 
struct  coap_l_block2_t
 Structure to keep track of block2 specific information (Responses) More...
 
struct  coap_lg_xmit_t
 Structure to hold large body (many blocks) transmission information. More...
 
struct  coap_lg_crcv_t
 Structure to hold large body (many blocks) client receive information. More...
 
struct  coap_lg_srcv_t
 Structure to hold large body (many blocks) server receive information. More...
 

Macros

#define COAP_RBLOCK_CNT   4
 

Typedefs

typedef struct coap_rblock_t coap_rblock_t
 Structure to keep track of received blocks. More...
 
typedef struct coap_l_block1_t coap_l_block1_t
 Structure to keep track of block1 specific information (Requests) More...
 
typedef struct coap_l_block2_t coap_l_block2_t
 Structure to keep track of block2 specific information (Responses) More...
 

Enumerations

enum  coap_recurse_t { COAP_RECURSE_OK , COAP_RECURSE_NO }
 

Functions

coap_lg_crcv_tcoap_block_new_lg_crcv (coap_session_t *session, coap_pdu_t *pdu)
 
void coap_block_delete_lg_crcv (coap_session_t *session, coap_lg_crcv_t *lg_crcv)
 
int coap_block_check_lg_crcv_timeouts (coap_session_t *session, coap_tick_t now, coap_tick_t *tim_rem)
 
void coap_block_delete_lg_srcv (coap_session_t *session, coap_lg_srcv_t *lg_srcv)
 
int coap_block_check_lg_srcv_timeouts (coap_session_t *session, coap_tick_t now, coap_tick_t *tim_rem)
 
int coap_handle_request_send_block (coap_session_t *session, coap_pdu_t *pdu, coap_pdu_t *response, coap_resource_t *resource, coap_string_t *query)
 
int coap_handle_request_put_block (coap_context_t *context, coap_session_t *session, coap_pdu_t *pdu, coap_pdu_t *response, coap_resource_t *resource, coap_string_t *uri_path, coap_opt_t *observe, coap_string_t *query, coap_method_handler_t h, int *added_block)
 
int coap_handle_response_send_block (coap_session_t *session, coap_pdu_t *sent, coap_pdu_t *rcvd)
 
int coap_handle_response_get_block (coap_context_t *context, coap_session_t *session, coap_pdu_t *sent, coap_pdu_t *rcvd, coap_recurse_t recursive)
 
void coap_block_delete_lg_xmit (coap_session_t *session, coap_lg_xmit_t *lg_xmit)
 
int coap_block_check_lg_xmit_timeouts (coap_session_t *session, coap_tick_t now, coap_tick_t *tim_rem)
 
void coap_check_code_lg_xmit (coap_session_t *session, coap_pdu_t *response, coap_resource_t *resource, coap_string_t *query, coap_pdu_code_t request_method)
 The function checks that the code in a newly formed lg_xmit created by coap_add_data_large_response() is updated. More...
 

Detailed Description

Internal API for Block Transfer (RC7959)

Macro Definition Documentation

◆ COAP_RBLOCK_CNT

#define COAP_RBLOCK_CNT   4

Definition at line 43 of file coap_block_internal.h.

Typedef Documentation

◆ coap_l_block1_t

Structure to keep track of block1 specific information (Requests)

◆ coap_l_block2_t

Structure to keep track of block2 specific information (Responses)

◆ coap_rblock_t

typedef struct coap_rblock_t coap_rblock_t

Structure to keep track of received blocks.

Enumeration Type Documentation

◆ coap_recurse_t

Enumerator
COAP_RECURSE_OK 
COAP_RECURSE_NO 

Definition at line 33 of file coap_block_internal.h.

Function Documentation

◆ coap_block_check_lg_crcv_timeouts()

int coap_block_check_lg_crcv_timeouts ( coap_session_t session,
coap_tick_t  now,
coap_tick_t tim_rem 
)
+ Here is the caller graph for this function:

◆ coap_block_check_lg_srcv_timeouts()

int coap_block_check_lg_srcv_timeouts ( coap_session_t session,
coap_tick_t  now,
coap_tick_t tim_rem 
)
+ Here is the caller graph for this function:

◆ coap_block_check_lg_xmit_timeouts()

int coap_block_check_lg_xmit_timeouts ( coap_session_t session,
coap_tick_t  now,
coap_tick_t tim_rem 
)

Definition at line 878 of file block.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ coap_block_delete_lg_crcv()

void coap_block_delete_lg_crcv ( coap_session_t session,
coap_lg_crcv_t lg_crcv 
)
+ Here is the caller graph for this function:

◆ coap_block_delete_lg_srcv()

void coap_block_delete_lg_srcv ( coap_session_t session,
coap_lg_srcv_t lg_srcv 
)
+ Here is the caller graph for this function:

◆ coap_block_delete_lg_xmit()

void coap_block_delete_lg_xmit ( coap_session_t session,
coap_lg_xmit_t lg_xmit 
)

Definition at line 1105 of file block.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ coap_block_new_lg_crcv()

coap_lg_crcv_t * coap_block_new_lg_crcv ( coap_session_t session,
coap_pdu_t pdu 
)
+ Here is the caller graph for this function:

◆ coap_check_code_lg_xmit()

void coap_check_code_lg_xmit ( coap_session_t session,
coap_pdu_t response,
coap_resource_t resource,
coap_string_t query,
coap_pdu_code_t  request_method 
)

The function checks that the code in a newly formed lg_xmit created by coap_add_data_large_response() is updated.

Parameters
sessionThe session
responseThe response PDU to to check
resourceThe requested resource
queryThe requested query
request_methodThe requested method

Definition at line 2430 of file block.c.

◆ coap_handle_request_put_block()

int coap_handle_request_put_block ( coap_context_t context,
coap_session_t session,
coap_pdu_t pdu,
coap_pdu_t response,
coap_resource_t resource,
coap_string_t uri_path,
coap_opt_t observe,
coap_string_t query,
coap_method_handler_t  h,
int *  added_block 
)

◆ coap_handle_request_send_block()

int coap_handle_request_send_block ( coap_session_t session,
coap_pdu_t pdu,
coap_pdu_t response,
coap_resource_t resource,
coap_string_t query 
)

◆ coap_handle_response_get_block()

int coap_handle_response_get_block ( coap_context_t context,
coap_session_t session,
coap_pdu_t sent,
coap_pdu_t rcvd,
coap_recurse_t  recursive 
)

◆ coap_handle_response_send_block()

int coap_handle_response_send_block ( coap_session_t session,
coap_pdu_t sent,
coap_pdu_t rcvd 
)