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 OmniWheels 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. | |
| int8_t | sn_coap_protocol_handle_block2_response_internally (struct coap_s *handle, uint8_t build_response) |
| This function change the state whether CoAP library sends the block 2 response automatically or not. | |
| void | sn_coap_protocol_clear_sent_blockwise_messages (struct coap_s *handle) |
| This function clears all the sent blockwise messages from the 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. | |
| void | sn_coap_protocol_send_rst (struct coap_s *handle, uint16_t msg_id, sn_nsdl_addr_s *addr_ptr, void *param) |
| This function sends a RESET message. | |
| int8_t | sn_coap_convert_block_size (uint16_t block_size) |
| Utility function to convert block size. | |
Detailed Description
CoAP Protocol implementation.
Functionality: CoAP Protocol
Definition in file sn_coap_protocol.c.
Function Documentation
| int8_t sn_coap_convert_block_size | ( | uint16_t | block_size ) |
Utility function to convert block size.
- Parameters:
-
block_size Block size to convert.
- Returns:
- Value of range 0 - 6
Definition at line 2194 of file sn_coap_protocol.c.
| 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 1561 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
-4 = Failure in Resending message store
If there is not enough memory (or User given limit exceeded) for storing resending messages, situation is ignored.
Definition at line 409 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 336 of file sn_coap_protocol.c.
| void sn_coap_protocol_clear_sent_blockwise_messages | ( | struct coap_s * | handle ) |
This function clears all the sent blockwise messages from the linked list.
- Parameters:
-
*handle Pointer to CoAP library handle
Definition at line 258 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 787 of file sn_coap_protocol.c.
| int8_t sn_coap_protocol_handle_block2_response_internally | ( | struct coap_s * | handle, |
| uint8_t | build_response | ||
| ) |
This function change the state whether CoAP library sends the block 2 response automatically or not.
- Parameters:
-
*handle Pointer to CoAP library handle handle_response 1 if CoAP library handles the response sending otherwise 0.
- Returns:
- 0 = success, -1 = failure
Definition at line 221 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 1229 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 1378 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 1452 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 1158 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 1196 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 1544 of file sn_coap_protocol.c.
| void sn_coap_protocol_send_rst | ( | struct coap_s * | handle, |
| uint16_t | msg_id, | ||
| sn_nsdl_addr_s * | addr_ptr, | ||
| void * | param | ||
| ) |
This function sends a RESET message.
- Parameters:
-
*handle Pointer to CoAP library handle msg_id Message id. addr_ptr Pointer to destination address where CoAP message will be sent param Pointer that will be passed to tx function callback
Definition at line 1032 of file sn_coap_protocol.c.
Generated on Fri Jul 22 2022 04:54:08 by
1.7.2
