Loading...
Searching...
No Matches
Block Transfer
Libcoap Internal API

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_SINGLE_BLOCK_OR_Q (COAP_BLOCK_SINGLE_BODY)
#define | COAP_RBLOCK_CNT 4

## Typedefs

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

## Enumerations

enum | coap_recurse_t { COAP_RECURSE_OK , COAP_RECURSE_NO }

## Functions

coap_lg_crcv_t * | coap_block_new_lg_crcv (coap_session_t *session, coap_pdu_t *pdu, coap_lg_xmit_t *lg_xmit)
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, int *added_block, coap_lg_srcv_t **free_lg_srcv)
coap_lg_xmit_t * | coap_find_lg_xmit_response (const coap_session_t *session, const coap_pdu_t *request, const coap_resource_t *resource, const coap_string_t *query)
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)
coap_mid_t | coap_retransmit_oscore_pdu (coap_session_t *session, coap_pdu_t *pdu, coap_opt_t *echo)
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 (const coap_session_t *session, const coap_pdu_t *request, coap_pdu_t *response, const coap_resource_t *resource, const coap_string_t *query)
| The function checks that the code in a newly formed lg_xmit created by coap_add_data_large_response() is updated.
void | coap_check_update_token (coap_session_t *session, coap_pdu_t *pdu)
| The function checks if the token needs to be updated before PDU is presented to the application (only relevant to clients).

## Detailed Description

Internal API for Block Transfer (RC7959)

## Macro Definition Documentation

## COAP_RBLOCK_CNT

#define COAP_RBLOCK_CNT 4

Definition at line 73 of file coap_block_internal.h.

## COAP_SINGLE_BLOCK_OR_Q

#define COAP_SINGLE_BLOCK_OR_Q (COAP_BLOCK_SINGLE_BODY)

Definition at line 60 of file coap_block_internal.h.

## Typedef Documentation

## coap_l_block1_t

typedef struct coap_l_block1_t coap_l_block1_t

Structure to keep track of block1 specific information (Requests)

## coap_l_block2_t

typedef struct coap_l_block2_t 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

enum coap_recurse_t

Enumerator
COAP_RECURSE_OK |
COAP_RECURSE_NO |

Definition at line 63 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 1138 of file coap_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 2142 of file coap_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,
|  | coap_lg_xmit_t * | lg_xmit
| ) |  |

Here is the caller graph for this function:

## coap_check_code_lg_xmit()

void coap_check_code_lg_xmit | ( | const coap_session_t * | session,
|  | const coap_pdu_t * | request,
|  | coap_pdu_t * | response,
|  | const coap_resource_t * | resource,
|  | const coap_string_t * | query
| ) |  |

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

Parameters

  session | The session.
  request | The request PDU to to check.
  response | The response PDU to to update with response->code.
  resource | The requested resource.
  query | The requested query.

## coap_check_update_token()

void coap_check_update_token | ( | coap_session_t * | session,
|  | coap_pdu_t * | pdu
| ) |  |

The function checks if the token needs to be updated before PDU is presented to the application (only relevant to clients).

Parameters

  session | The session.
  pdu | The PDU to to check for updating.

Here is the caller graph for this function:

## coap_find_lg_xmit_response()

coap_lg_xmit_t * coap_find_lg_xmit_response | ( | const coap_session_t * | session,
|  | const coap_pdu_t * | request,
|  | const coap_resource_t * | resource,
|  | const coap_string_t * | query
| ) |  |

Here is the caller graph for this function:

## 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,
|  | int * | added_block,
|  | coap_lg_srcv_t ** | free_lg_srcv
| ) |  |

## 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
| ) |  |

## coap_retransmit_oscore_pdu()

coap_mid_t coap_retransmit_oscore_pdu | ( | coap_session_t * | session,
|  | coap_pdu_t * | pdu,
|  | coap_opt_t * | echo
| ) |  |