@@ -1618,7 +1618,7 @@ int lwm2m_enable_cache(const struct lwm2m_obj_path *path, struct lwm2m_time_seri
16181618 return - ENODATA ;
16191619 }
16201620
1621- ring_buf_init (& cache_entry -> rb , cache_entry_size * cache_len , (uint8_t * )data_cache );
1621+ ring_buffer_init (& cache_entry -> rb , (uint8_t * )data_cache , cache_entry_size * cache_len );
16221622
16231623 return 0 ;
16241624#else
@@ -1651,27 +1651,29 @@ bool lwm2m_cache_write(struct lwm2m_time_series_resource *cache_entry,
16511651 uint8_t * buf_ptr ;
16521652 uint32_t element_size = sizeof (struct lwm2m_time_series_elem );
16531653
1654- if (ring_buf_space_get (& cache_entry -> rb ) < element_size ) {
1654+ if (ring_buffer_space (& cache_entry -> rb ) < element_size ) {
16551655 /* No space */
16561656 if (IS_ENABLED (CONFIG_LWM2M_CACHE_DROP_LATEST )) {
16571657 return false;
16581658 }
16591659 /* Free entry */
1660- length = ring_buf_get_claim (& cache_entry -> rb , & buf_ptr , element_size );
1661- ring_buf_get_finish (& cache_entry -> rb , length );
1660+ if (ring_buffer_size (& cache_entry -> rb ) < element_size ) {
1661+ LOG_ERR ("Cache entry too small %u" , ring_buffer_size (& cache_entry -> rb ));
1662+ return false;
1663+ }
1664+ ring_buffer_consume (& cache_entry -> rb , element_size );
16621665 }
16631666
1664- length = ring_buf_put_claim (& cache_entry -> rb , & buf_ptr , element_size );
1667+ length = ring_buffer_write_ptr (& cache_entry -> rb , & buf_ptr , element_size );
16651668
1666- if (length != element_size ) {
1667- ring_buf_put_finish (& cache_entry -> rb , 0 );
1669+ if (length < element_size ) {
16681670 LOG_ERR ("Allocation failed %u" , length );
16691671 return false;
16701672 }
16711673
1672- ring_buf_put_finish (& cache_entry -> rb , length );
16731674 /* Store data */
16741675 memcpy (buf_ptr , buf , element_size );
1676+ ring_buffer_commit (& cache_entry -> rb , length );
16751677 return true;
16761678#else
16771679 return NULL ;
@@ -1686,21 +1688,19 @@ bool lwm2m_cache_read(struct lwm2m_time_series_resource *cache_entry,
16861688 uint8_t * buf_ptr ;
16871689 uint32_t element_size = sizeof (struct lwm2m_time_series_elem );
16881690
1689- if (ring_buf_is_empty (& cache_entry -> rb )) {
1691+ if (ring_buffer_empty (& cache_entry -> rb )) {
16901692 return false;
16911693 }
16921694
1693- length = ring_buf_get_claim (& cache_entry -> rb , & buf_ptr , element_size );
1694-
1695- if (length != element_size ) {
1695+ length = ring_buffer_read_ptr (& cache_entry -> rb , & buf_ptr );
1696+ if (length < element_size ) {
16961697 LOG_ERR ("Cache read fail %u" , length );
1697- ring_buf_get_finish (& cache_entry -> rb , 0 );
16981698 return false;
16991699 }
17001700
17011701 /* Read Data */
17021702 memcpy (buf , buf_ptr , element_size );
1703- ring_buf_get_finish (& cache_entry -> rb , length );
1703+ ring_buffer_consume (& cache_entry -> rb , element_size );
17041704 return true;
17051705
17061706#else
@@ -1713,11 +1713,11 @@ size_t lwm2m_cache_size(const struct lwm2m_time_series_resource *cache_entry)
17131713#if defined(CONFIG_LWM2M_RESOURCE_DATA_CACHE_SUPPORT )
17141714 uint32_t bytes_available ;
17151715
1716- if (ring_buf_is_empty (& cache_entry -> rb )) {
1716+ if (ring_buffer_empty (& cache_entry -> rb )) {
17171717 return 0 ;
17181718 }
17191719
1720- bytes_available = ring_buf_size_get (& cache_entry -> rb );
1720+ bytes_available = ring_buffer_size (& cache_entry -> rb );
17211721
17221722 return (bytes_available / sizeof (struct lwm2m_time_series_elem ));
17231723#else
0 commit comments