Skip to content
This repository was archived by the owner on Apr 24, 2019. It is now read-only.

Commit 8f6daf3

Browse files
author
Antti Yli-Tokola
committed
Merge pull request #16 from ARMmbed/rst_handling
Reset message handling
2 parents f275664 + 1d42246 commit 8f6daf3

File tree

9 files changed

+145
-31
lines changed

9 files changed

+145
-31
lines changed

nsdl-c/sn_nsdl_lib.h

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -341,15 +341,20 @@ extern void sn_nsdl_nsp_lost(struct nsdl_s *handle);
341341
* \param *observe_ptr Pointer to observe number to be sent
342342
* \param observe_len Observe number len
343343
* \param message_type Observation message type (confirmable or non-confirmable)
344-
* \param contetnt_type Observation message payload contetnt type
344+
* \param content_type Observation message payload contetnt type
345+
* \param uri_path_ptr Pointer to uri path to bee sent
346+
* \param uri_path_len Uri path len
345347
*
346348
* \return !0 Success, observation messages message ID
347349
* \return 0 Failure
348350
*/
349351
extern uint16_t sn_nsdl_send_observation_notification(struct nsdl_s *handle, uint8_t *token_ptr, uint8_t token_len,
350352
uint8_t *payload_ptr, uint16_t payload_len,
351353
uint8_t *observe_ptr, uint8_t observe_len,
352-
sn_coap_msg_type_e message_type, uint8_t content_type);
354+
sn_coap_msg_type_e message_type,
355+
uint8_t content_type,
356+
uint8_t *uri_path_ptr,
357+
uint16_t uri_path_len);
353358

354359
/**
355360
* \fn extern uint32_t sn_nsdl_get_version(void)

source/libCoap/src/include/sn_coap_header_internal.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,8 @@ typedef struct sn_nsdl_transmit_ {
6464

6565
uint16_t packet_len;
6666
uint8_t *packet_ptr;
67+
uint8_t *uri_path_ptr;
68+
uint8_t uri_path_len;
6769
} sn_nsdl_transmit_s;
6870

6971
/* * * * * * * * * * * * * * * * * * * * * * */

source/libCoap/src/sn_coap_builder.c

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -170,16 +170,20 @@ uint16_t sn_coap_builder_calc_needed_packet_data_size(sn_coap_hdr_s *src_coap_ms
170170
}
171171

172172
/* URI PATH - Repeatable option. Length of one option is 0-255 */
173-
if (src_coap_msg_ptr->uri_path_ptr != NULL) {
174-
repeatable_option_size = sn_coap_builder_options_calc_option_size(src_coap_msg_ptr->uri_path_len,
175-
src_coap_msg_ptr->uri_path_ptr, COAP_OPTION_URI_PATH);
176-
if (repeatable_option_size) {
177-
returned_byte_count += repeatable_option_size;
178-
} else {
179-
return 0;
173+
/* Do not add uri-path for notification message.
174+
* Uri-path is needed for cancelling observation with RESET message */
175+
if (!src_coap_msg_ptr->options_list_ptr ||
176+
(src_coap_msg_ptr->options_list_ptr && !src_coap_msg_ptr->options_list_ptr->observe_len && !src_coap_msg_ptr->options_list_ptr->observe_ptr)) {
177+
if (src_coap_msg_ptr->uri_path_ptr != NULL) {
178+
repeatable_option_size = sn_coap_builder_options_calc_option_size(src_coap_msg_ptr->uri_path_len,
179+
src_coap_msg_ptr->uri_path_ptr, COAP_OPTION_URI_PATH);
180+
if (repeatable_option_size) {
181+
returned_byte_count += repeatable_option_size;
182+
} else {
183+
return 0;
184+
}
180185
}
181186
}
182-
183187
/* CONTENT TYPE - Length of this option is 0-2 bytes */
184188
if (src_coap_msg_ptr->content_type_ptr != NULL) {
185189
returned_byte_count++;
@@ -610,7 +614,11 @@ static int8_t sn_coap_builder_options_build(uint8_t **dst_packet_data_pptr, sn_c
610614
&src_coap_msg_ptr->options_list_ptr->location_path_len, COAP_OPTION_LOCATION_PATH);
611615
}
612616
/* * * * Build Uri-Path option * * * */
613-
sn_coap_builder_options_build_add_multiple_option(dst_packet_data_pptr, &src_coap_msg_ptr->uri_path_ptr,
617+
/* Do not add uri-path for notification message.
618+
* Uri-path is needed for cancelling observation with RESET message */
619+
if (!src_coap_msg_ptr->options_list_ptr ||
620+
(src_coap_msg_ptr->options_list_ptr && !src_coap_msg_ptr->options_list_ptr->observe_len && !src_coap_msg_ptr->options_list_ptr->observe_ptr))
621+
sn_coap_builder_options_build_add_multiple_option(dst_packet_data_pptr, &src_coap_msg_ptr->uri_path_ptr,
614622
&src_coap_msg_ptr->uri_path_len, COAP_OPTION_URI_PATH);
615623

616624
/* * * * Build Content-Type option * * * */

source/libCoap/src/sn_coap_protocol.c

Lines changed: 32 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ static int8_t sn_coap_convert_block_size(uint16_t block_size);
6565
static sn_coap_hdr_s *sn_coap_protocol_copy_header(struct coap_s *handle, sn_coap_hdr_s *source_header_ptr);
6666
#endif
6767
#if ENABLE_RESENDINGS
68-
static void sn_coap_protocol_linked_list_send_msg_store(struct coap_s *handle, sn_nsdl_addr_s *dst_addr_ptr, uint16_t send_packet_data_len, uint8_t *send_packet_data_ptr, uint32_t sending_time, void *param);
68+
static void sn_coap_protocol_linked_list_send_msg_store(struct coap_s *handle, sn_nsdl_addr_s *dst_addr_ptr, uint16_t send_packet_data_len, uint8_t *send_packet_data_ptr, uint32_t sending_time, void *param, uint8_t *uri_path_ptr, uint8_t uri_path_len);
6969
static sn_nsdl_transmit_s *sn_coap_protocol_linked_list_send_msg_search(struct coap_s *handle,sn_nsdl_addr_s *src_addr_ptr, uint16_t msg_id);
7070
static void sn_coap_protocol_linked_list_send_msg_remove(struct coap_s *handle, sn_nsdl_addr_s *src_addr_ptr, uint16_t msg_id);
7171
static coap_send_msg_s *sn_coap_protocol_allocate_mem_for_msg(struct coap_s *handle, sn_nsdl_addr_s *dst_addr_ptr, uint16_t packet_data_len);
@@ -311,6 +311,10 @@ void sn_coap_protocol_clear_retransmission_buffer(struct coap_s *handle)
311311
handle->sn_coap_protocol_free(tmp->send_msg_ptr->packet_ptr);
312312
tmp->send_msg_ptr->packet_ptr = 0;
313313
}
314+
if (tmp->send_msg_ptr->uri_path_ptr) {
315+
handle->sn_coap_protocol_free(tmp->send_msg_ptr->uri_path_ptr);
316+
tmp->send_msg_ptr->uri_path_ptr = 0;
317+
}
314318
handle->sn_coap_protocol_free(tmp->send_msg_ptr);
315319
tmp->send_msg_ptr = 0;
316320
}
@@ -434,7 +438,7 @@ int16_t sn_coap_protocol_build(struct coap_s *handle, sn_nsdl_addr_s *dst_addr_p
434438
/* Store message to Linked list for resending purposes */
435439
sn_coap_protocol_linked_list_send_msg_store(handle, dst_addr_ptr, byte_count_built, dst_packet_data_ptr,
436440
handle->system_time + (uint32_t)(handle->sn_coap_resending_intervall * RESPONSE_RANDOM_FACTOR),
437-
param);
441+
param, src_coap_msg_ptr->uri_path_ptr, src_coap_msg_ptr->uri_path_len);
438442
}
439443

440444
#endif /* ENABLE_RESENDINGS */
@@ -671,10 +675,18 @@ sn_coap_hdr_s *sn_coap_protocol_parse(struct coap_s *handle, sn_nsdl_addr_s *src
671675
sn_nsdl_transmit_s *removed_msg_ptr = NULL;
672676

673677
/* Check if received message was confirmation for some active resending message */
674-
675678
removed_msg_ptr = sn_coap_protocol_linked_list_send_msg_search(handle, src_addr_ptr, returned_dst_coap_msg_ptr->msg_id);
676679

677680
if (removed_msg_ptr != NULL) {
681+
if (returned_dst_coap_msg_ptr->msg_type == COAP_MSG_TYPE_RESET) {
682+
if(removed_msg_ptr->uri_path_len) {
683+
returned_dst_coap_msg_ptr->uri_path_ptr = handle->sn_coap_protocol_malloc(removed_msg_ptr->uri_path_len);
684+
if (returned_dst_coap_msg_ptr->uri_path_ptr != NULL) {
685+
memcpy(returned_dst_coap_msg_ptr->uri_path_ptr, removed_msg_ptr->uri_path_ptr, removed_msg_ptr->uri_path_len);
686+
returned_dst_coap_msg_ptr->uri_path_len = removed_msg_ptr->uri_path_len;
687+
}
688+
}
689+
}
678690
/* Remove resending message from active message resending Linked list */
679691
sn_coap_protocol_linked_list_send_msg_remove(handle, src_addr_ptr, returned_dst_coap_msg_ptr->msg_id);
680692
}
@@ -777,7 +789,7 @@ int8_t sn_coap_protocol_exec(struct coap_s *handle, uint32_t current_time)
777789
*****************************************************************************/
778790

779791
static void sn_coap_protocol_linked_list_send_msg_store(struct coap_s *handle, sn_nsdl_addr_s *dst_addr_ptr, uint16_t send_packet_data_len,
780-
uint8_t *send_packet_data_ptr, uint32_t sending_time, void *param)
792+
uint8_t *send_packet_data_ptr, uint32_t sending_time, void *param, uint8_t *uri_path_ptr, uint8_t uri_path_len)
781793
{
782794

783795
coap_send_msg_s *stored_msg_ptr = NULL;
@@ -825,6 +837,16 @@ static void sn_coap_protocol_linked_list_send_msg_store(struct coap_s *handle, s
825837
stored_msg_ptr->coap = handle;
826838
stored_msg_ptr->param = param;
827839

840+
if (uri_path_len) {
841+
stored_msg_ptr->send_msg_ptr->uri_path_ptr = handle->sn_coap_protocol_malloc(uri_path_len);
842+
if (stored_msg_ptr->send_msg_ptr->uri_path_ptr == NULL){
843+
return;
844+
}
845+
stored_msg_ptr->send_msg_ptr->uri_path_len = uri_path_len;
846+
memcpy(stored_msg_ptr->send_msg_ptr->uri_path_ptr, uri_path_ptr, uri_path_len);
847+
}
848+
849+
828850
/* Storing Resending message to Linked list */
829851
ns_list_add_to_end(&handle->linked_list_resent_msgs, stored_msg_ptr);
830852
++handle->count_resent_msgs;
@@ -1401,6 +1423,11 @@ static void sn_coap_protocol_release_allocated_send_msg_mem(struct coap_s *handl
14011423
freed_send_msg_ptr->send_msg_ptr->packet_ptr = 0;
14021424
}
14031425

1426+
if (freed_send_msg_ptr->send_msg_ptr->uri_path_ptr != NULL) {
1427+
handle->sn_coap_protocol_free(freed_send_msg_ptr->send_msg_ptr->uri_path_ptr);
1428+
freed_send_msg_ptr->send_msg_ptr->uri_path_ptr = 0;
1429+
}
1430+
14041431
handle->sn_coap_protocol_free(freed_send_msg_ptr->send_msg_ptr);
14051432
freed_send_msg_ptr->send_msg_ptr = 0;
14061433
}
@@ -1916,7 +1943,7 @@ static sn_coap_hdr_s *sn_coap_handle_blockwise_message(struct coap_s *handle, sn
19161943
sn_coap_protocol_linked_list_send_msg_store(handle, src_addr_ptr,
19171944
dst_packed_data_needed_mem,
19181945
dst_ack_packet_data_ptr,
1919-
handle->system_time + (uint32_t)(handle->sn_coap_resending_intervall * RESPONSE_RANDOM_FACTOR), param);
1946+
handle->system_time + (uint32_t)(handle->sn_coap_resending_intervall * RESPONSE_RANDOM_FACTOR), param, NULL, 0);
19201947
#endif
19211948
handle->sn_coap_protocol_free(dst_ack_packet_data_ptr);
19221949
dst_ack_packet_data_ptr = 0;

source/libNsdl/src/sn_nsdl.c

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -502,7 +502,8 @@ int8_t sn_nsdl_is_ep_registered(struct nsdl_s *handle)
502502
uint16_t sn_nsdl_send_observation_notification(struct nsdl_s *handle, uint8_t *token_ptr, uint8_t token_len,
503503
uint8_t *payload_ptr, uint16_t payload_len,
504504
uint8_t *observe_ptr, uint8_t observe_len,
505-
sn_coap_msg_type_e message_type, uint8_t content_type)
505+
sn_coap_msg_type_e message_type, uint8_t content_type,
506+
uint8_t *uri_path_ptr, uint16_t uri_path_len)
506507
{
507508
sn_coap_hdr_s *notification_message_ptr;
508509
uint16_t return_msg_id = 0;
@@ -540,6 +541,10 @@ uint16_t sn_nsdl_send_observation_notification(struct nsdl_s *handle, uint8_t *t
540541
notification_message_ptr->payload_len = payload_len;
541542
notification_message_ptr->payload_ptr = payload_ptr;
542543

544+
/* Fill uri path */
545+
notification_message_ptr->uri_path_len = uri_path_len;
546+
notification_message_ptr->uri_path_ptr = uri_path_ptr;
547+
543548
/* Fill observe */
544549
notification_message_ptr->options_list_ptr->observe_len = observe_len;
545550
notification_message_ptr->options_list_ptr->observe_ptr = observe_ptr;
@@ -558,7 +563,7 @@ uint16_t sn_nsdl_send_observation_notification(struct nsdl_s *handle, uint8_t *t
558563
}
559564

560565
/* Free memory */
561-
566+
notification_message_ptr->uri_path_ptr = NULL;
562567
notification_message_ptr->payload_ptr = NULL;
563568
notification_message_ptr->options_list_ptr->observe_ptr = NULL;
564569
notification_message_ptr->token_ptr = NULL;

test/nsdl-c/unittest/sn_coap_builder/libCoap_builder_test.cpp

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -356,8 +356,6 @@ TEST(libCoap_builder, sn_coap_builder_calc_needed_packet_data_size)
356356
header.options_list_ptr->uri_query_len = 0;
357357
CHECK(sn_coap_builder_calc_needed_packet_data_size(&header) == 0);
358358

359-
free(header.options_list_ptr->observe_ptr);
360-
header.options_list_ptr->observe_ptr = NULL;
361359
header.options_list_ptr->observe = 1;
362360

363361
header.options_list_ptr->uri_query_len = 4;
@@ -370,9 +368,17 @@ TEST(libCoap_builder, sn_coap_builder_calc_needed_packet_data_size)
370368
header.options_list_ptr->block1_len = 0;
371369
CHECK(sn_coap_builder_calc_needed_packet_data_size(&header) == 0);
372370

371+
header.options_list_ptr->block1_len = 2;
372+
header.payload_len = 1;
373+
CHECK(431 == sn_coap_builder_calc_needed_packet_data_size(&header));
374+
375+
free(header.options_list_ptr->observe_ptr);
376+
header.options_list_ptr->observe_ptr = NULL;
377+
header.options_list_ptr->observe_len = 0;
373378
header.options_list_ptr->block1_len = 2;
374379
header.payload_len = 1;
375380
CHECK(722 == sn_coap_builder_calc_needed_packet_data_size(&header));
381+
376382
// <--
377383

378384
free(header.options_list_ptr->block1_ptr);

test/nsdl-c/unittest/sn_coap_protocol/libCoap_protocol_test.cpp

Lines changed: 51 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1957,6 +1957,52 @@ TEST(libCoap_protocol, sn_coap_protocol_parse)
19571957
sn_coap_parser_release_allocated_coap_msg_mem(handle, ret);
19581958

19591959
sn_coap_protocol_destroy(handle);
1960+
1961+
retCounter = 1;
1962+
handle = sn_coap_protocol_init(myMalloc, myFree, null_tx_cb, NULL);
1963+
1964+
sn_coap_parser_stub.expectedHeader = (sn_coap_hdr_s *)malloc(sizeof(sn_coap_hdr_s));
1965+
memset(sn_coap_parser_stub.expectedHeader, 0, sizeof(sn_coap_hdr_s));
1966+
sn_coap_parser_stub.expectedHeader->msg_type = COAP_MSG_TYPE_RESET;
1967+
sn_coap_parser_stub.expectedHeader->msg_id = 18;
1968+
1969+
memset(&tmp_addr, 0, sizeof(sn_nsdl_addr_s));
1970+
memset(&tmp_hdr, 0, sizeof(sn_coap_hdr_s));
1971+
1972+
dst_packet_data_ptr = (uint8_t*)malloc(5);
1973+
memset(dst_packet_data_ptr, '1', 5);
1974+
dst_packet_data_ptr[2]=0;
1975+
dst_packet_data_ptr[3]=18;
1976+
1977+
tmp_addr.addr_ptr = (uint8_t*)malloc(5);
1978+
memset(tmp_addr.addr_ptr, '1', 5);
1979+
tmp_addr.port = 0;
1980+
1981+
retCounter = 21;
1982+
sn_coap_builder_stub.expectedInt16 = 5;
1983+
tmp_hdr.payload_ptr = (uint8_t*)malloc(3);
1984+
tmp_hdr.msg_id = 18;
1985+
tmp_hdr.msg_code = COAP_MSG_CODE_RESPONSE_CREATED;
1986+
tmp_hdr.payload_len = SN_COAP_BLOCKWISE_MAX_PAYLOAD_SIZE + 20;
1987+
tmp_hdr.uri_path_ptr = (uint8_t*)malloc(7);
1988+
snprintf((char *)tmp_hdr.uri_path_ptr, 7, "13/0/1");
1989+
tmp_hdr.uri_path_len = 7;
1990+
1991+
sn_coap_protocol_build(handle, &tmp_addr, dst_packet_data_ptr, &tmp_hdr, NULL);
1992+
1993+
free(tmp_hdr.uri_path_ptr);
1994+
free(tmp_hdr.options_list_ptr->block2_ptr);
1995+
free(tmp_hdr.options_list_ptr);
1996+
free(tmp_hdr.payload_ptr);
1997+
free(tmp_addr.addr_ptr);
1998+
free(dst_packet_data_ptr);
1999+
2000+
ret = sn_coap_protocol_parse(handle, addr, packet_data_len, packet_data_ptr, NULL);
2001+
CHECK( ret != NULL );
2002+
sn_coap_parser_release_allocated_coap_msg_mem(handle, ret);
2003+
2004+
sn_coap_protocol_destroy(handle);
2005+
19602006
retCounter = 1;
19612007
handle = sn_coap_protocol_init(myMalloc, myFree, null_tx_cb, NULL);
19622008

@@ -1983,6 +2029,9 @@ TEST(libCoap_protocol, sn_coap_protocol_parse)
19832029
tmp_hdr.msg_id = 18;
19842030
tmp_hdr.msg_code = COAP_MSG_CODE_RESPONSE_CREATED;
19852031
tmp_hdr.payload_len = SN_COAP_BLOCKWISE_MAX_PAYLOAD_SIZE + 20;
2032+
tmp_hdr.uri_path_ptr = (uint8_t*)malloc(7);
2033+
snprintf((char *)tmp_hdr.uri_path_ptr, 7, "13/0/1");
2034+
tmp_hdr.uri_path_len = 7;
19862035
sn_coap_protocol_build(handle, &tmp_addr, dst_packet_data_ptr, &tmp_hdr, NULL);
19872036

19882037
free(tmp_hdr.options_list_ptr->block2_ptr);
@@ -1995,11 +2044,11 @@ TEST(libCoap_protocol, sn_coap_protocol_parse)
19952044
CHECK( ret != NULL );
19962045
sn_coap_parser_release_allocated_coap_msg_mem(handle, ret);
19972046

1998-
2047+
free(tmp_hdr.uri_path_ptr);
19992048
free(packet_data_ptr);
20002049
free(addr->addr_ptr);
20012050
free(addr);
2002-
sn_coap_protocol_destroy(handle);
2051+
sn_coap_protocol_destroy(handle);
20032052
}
20042053

20052054
TEST(libCoap_protocol, sn_coap_protocol_exec)

test/nsdl-c/unittest/sn_nsdl/test_sn_nsdl.c

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -693,37 +693,46 @@ bool test_sn_nsdl_is_ep_registered()
693693

694694
bool test_sn_nsdl_send_observation_notification()
695695
{
696-
if( 0 != sn_nsdl_send_observation_notification(NULL, NULL, 0,NULL,0,NULL,0,0,0) ){
696+
if( 0 != sn_nsdl_send_observation_notification(NULL, NULL, 0,NULL,0,NULL,0,0,0, NULL,0) ){
697697
return false;
698698
}
699699
sn_grs_stub.retNull = false;
700700
retCounter = 4;
701701
sn_grs_stub.expectedGrs = (struct grs_s *)malloc(sizeof(struct grs_s));
702702
struct nsdl_s* handle = sn_nsdl_init(&nsdl_tx_callback, &nsdl_rx_callback, &myMalloc, &myFree);
703703

704-
if( 0 != sn_nsdl_send_observation_notification(handle, NULL, 0,NULL,0,NULL,0,0,0) ){
704+
if( 0 != sn_nsdl_send_observation_notification(handle, NULL, 0,NULL,0,NULL,0,0,0,NULL,0) ){
705705
return false;
706706
}
707707

708708
retCounter = 1;
709-
if( 0 != sn_nsdl_send_observation_notification(handle, NULL, 0,NULL,0,NULL,0,0,0) ){
709+
if( 0 != sn_nsdl_send_observation_notification(handle, NULL, 0,NULL,0,NULL,0,0,0,NULL,0) ){
710710
return false;
711711
}
712712

713713
retCounter = 2;
714-
if( 0 != sn_nsdl_send_observation_notification(handle, NULL, 0,NULL,0,NULL,0,0,1) ){
714+
if( 0 != sn_nsdl_send_observation_notification(handle, NULL, 0,NULL,0,NULL,0,0,1,NULL,0) ){
715715
return false;
716716
}
717717

718718
retCounter = 2;
719-
if( 0 != sn_nsdl_send_observation_notification(handle, NULL, 0,NULL,0,NULL,0,0,1) ){
719+
if( 0 != sn_nsdl_send_observation_notification(handle, NULL, 0,NULL,0,NULL,0,0,1,NULL,0) ){
720720
return false;
721721
}
722722

723+
u_int8_t path[] = {"13/0/1"};
724+
uint8_t* uri_path_ptr = (uint8_t*)malloc(sizeof(path));
725+
uint8_t uri_path_len = (uint8_t)sizeof(path);
726+
retCounter = 2;
727+
if( 0 != sn_nsdl_send_observation_notification(handle, NULL, 0,NULL,0,NULL,0,0,1,uri_path_ptr,uri_path_len) ){
728+
return false;
729+
}
730+
free(uri_path_ptr);
731+
723732
retCounter = 2;
724733
sn_grs_stub.int8SuccessCounter = 0;
725734
sn_grs_stub.expectedInt8 = SN_NSDL_FAILURE;
726-
if( 0 != sn_nsdl_send_observation_notification(handle, NULL, 0,NULL,0,NULL,0,0,1) ){
735+
if( 0 != sn_nsdl_send_observation_notification(handle, NULL, 0,NULL,0,NULL,0,0,1,NULL,0) ){
727736
return false;
728737
}
729738

test/nsdl-c/unittest/stubs/sn_nsdl_stub.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -79,9 +79,12 @@ int8_t sn_nsdl_is_ep_registered(struct nsdl_s *handle)
7979
}
8080

8181
uint16_t sn_nsdl_send_observation_notification(struct nsdl_s *handle, uint8_t *token_ptr, uint8_t token_len,
82-
uint8_t *payload_ptr, uint16_t payload_len,
83-
uint8_t *observe_ptr, uint8_t observe_len,
84-
sn_coap_msg_type_e message_type, uint8_t content_type)
82+
uint8_t *payload_ptr, uint16_t payload_len,
83+
uint8_t *observe_ptr, uint8_t observe_len,
84+
sn_coap_msg_type_e message_type,
85+
uint8_t content_type,
86+
uint8_t *uri_path_ptr,
87+
uint16_t uri_path_len)
8588
{
8689
return sn_nsdl_stub.expectedUint16;
8790
}

0 commit comments

Comments
 (0)