Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of mbed-os by
sn_coap_protocol.c File Reference
CoAP Protocol implementation. More...
Go to the source code of this file.
Functions | |
| static void | sn_coap_protocol_linked_list_duplication_info_remove (struct coap_s *handle, uint8_t *scr_addr_ptr, uint16_t port, uint16_t msg_id) |
| Removes stored Duplication info from Linked list. | |
| static void | sn_coap_protocol_linked_list_duplication_info_remove_old_ones (struct coap_s *handle) |
| Removes old stored Duplication detection infos from Linked list. | |
| static void | sn_coap_protocol_linked_list_blockwise_msg_remove (struct coap_s *handle, coap_blockwise_msg_s *removed_msg_ptr) |
| Removes stored blockwise message from Linked list. | |
| static void | sn_coap_protocol_linked_list_blockwise_payload_remove_oldest (struct coap_s *handle) |
| Removes current stored blockwise paylod from Linked list. | |
| static void | sn_coap_protocol_linked_list_blockwise_remove_old_data (struct coap_s *handle) |
| Removes old stored Blockwise messages and payloads from Linked list. | |
| static void | sn_coap_protocol_release_allocated_send_msg_mem (struct coap_s *handle, coap_send_msg_s *freed_send_msg_ptr) |
| Releases memory of given Sending message (coap_send_msg_s) | |
| static uint16_t | sn_coap_count_linked_list_size (const coap_send_msg_list_t *linked_list_ptr) |
| Counts total message size of all messages in linked list. | |
| void | sn_coap_protocol_clear_retransmission_buffer (struct coap_s *handle) |
| If re-transmissions are enabled, this function removes all messages from the retransmission queue. | |
| int16_t | sn_coap_protocol_build (struct coap_s *handle, sn_nsdl_addr_s *dst_addr_ptr, uint8_t *dst_packet_data_ptr, sn_coap_hdr_s *src_coap_msg_ptr, void *param) |
| Builds Packet data from given CoAP header structure to be sent. | |
| int8_t | sn_coap_protocol_exec (struct coap_s *handle, uint32_t current_time) |
| Sends CoAP messages from re-sending queue, if there is any. | |
Detailed Description
CoAP Protocol implementation.
Functionality: CoAP Protocol
Definition in file sn_coap_protocol.c.
Function Documentation
| static uint16_t sn_coap_count_linked_list_size | ( | const coap_send_msg_list_t * | linked_list_ptr ) | [static] |
Counts total message size of all messages in linked list.
- Parameters:
-
const coap_send_msg_list_t *linked_list_ptr pointer to linked list
Definition at line 1466 of file sn_coap_protocol.c.
| int16_t sn_coap_protocol_build | ( | struct coap_s * | handle, |
| sn_nsdl_addr_s * | dst_addr_ptr, | ||
| uint8_t * | dst_packet_data_ptr, | ||
| sn_coap_hdr_s * | src_coap_msg_ptr, | ||
| void * | param | ||
| ) |
Builds Packet data from given CoAP header structure to be sent.
- Parameters:
-
*dst_addr_ptr is pointer to destination address where CoAP message will be sent (CoAP builder needs that information for message resending purposes) *dst_packet_data_ptr is pointer to destination of built Packet data *src_coap_msg_ptr is pointer to source of built Packet data param void pointer that will be passed to tx/rx function callback when those are called.
- Returns:
- Return value is byte count of built Packet data.
Note: If message is blockwised, all payload is not sent at the same time
In failure cases:
-1 = Failure in CoAP header structure
-2 = Failure in given pointer (= NULL)
-3 = Failure in Reset message\ŋ If there is not enough memory (or User given limit exceeded) for storing resending messages, situation is ignored.
Definition at line 391 of file sn_coap_protocol.c.
| void sn_coap_protocol_clear_retransmission_buffer | ( | struct coap_s * | handle ) |
If re-transmissions are enabled, this function removes all messages from the retransmission queue.
- Parameters:
-
*handle Pointer to CoAP library handle
Definition at line 295 of file sn_coap_protocol.c.
| int8_t sn_coap_protocol_exec | ( | struct coap_s * | handle, |
| uint32_t | current_time | ||
| ) |
Sends CoAP messages from re-sending queue, if there is any.
Cleans also old messages from the duplication list and from block receiving list
This function can be called e.g. once in a second but also more frequently.
- Parameters:
-
*handle Pointer to CoAP library handle current_time is System time in seconds. This time is used for message re-sending timing and to identify old saved data.
- Returns:
- 0 if success -1 if failed
Definition at line 721 of file sn_coap_protocol.c.
| static void sn_coap_protocol_linked_list_blockwise_msg_remove | ( | struct coap_s * | handle, |
| coap_blockwise_msg_s * | removed_msg_ptr | ||
| ) | [static] |
Removes stored blockwise message from Linked list.
- Parameters:
-
removed_msg_ptr is message to be removed
Definition at line 1128 of file sn_coap_protocol.c.
| static void sn_coap_protocol_linked_list_blockwise_payload_remove_oldest | ( | struct coap_s * | handle ) | [static] |
Removes current stored blockwise paylod from Linked list.
Definition at line 1250 of file sn_coap_protocol.c.
| static void sn_coap_protocol_linked_list_blockwise_remove_old_data | ( | struct coap_s * | handle ) | [static] |
Removes old stored Blockwise messages and payloads from Linked list.
Definition at line 1325 of file sn_coap_protocol.c.
| static void sn_coap_protocol_linked_list_duplication_info_remove | ( | struct coap_s * | handle, |
| uint8_t * | addr_ptr, | ||
| uint16_t | port, | ||
| uint16_t | msg_id | ||
| ) | [static] |
Removes stored Duplication info from Linked list.
- Parameters:
-
*addr_ptr is pointer to Address key to be removed port is Port key to be removed msg_id is Message ID key to be removed
Definition at line 1066 of file sn_coap_protocol.c.
| static void sn_coap_protocol_linked_list_duplication_info_remove_old_ones | ( | struct coap_s * | handle ) | [static] |
Removes old stored Duplication detection infos from Linked list.
Definition at line 1099 of file sn_coap_protocol.c.
| static void sn_coap_protocol_release_allocated_send_msg_mem | ( | struct coap_s * | handle, |
| coap_send_msg_s * | freed_send_msg_ptr | ||
| ) | [static] |
Releases memory of given Sending message (coap_send_msg_s)
- Parameters:
-
*freed_send_msg_ptr is pointer to released Sending message
Definition at line 1426 of file sn_coap_protocol.c.
Generated on Tue Jul 12 2022 13:16:24 by
1.7.2
