Skip to content

Commit 1cd0f72

Browse files
committed
subsys/net/lib: update to new ring_buffer api
Move to new ring_buffer api. Signed-off-by: Måns Ansgariusson <[email protected]>
1 parent 0bdf2f4 commit 1cd0f72

File tree

5 files changed

+27
-28
lines changed

5 files changed

+27
-28
lines changed

subsys/net/lib/lwm2m/Kconfig

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,6 @@ config LWM2M_RD_CLIENT_MAX_RETRIES
227227
config LWM2M_RESOURCE_DATA_CACHE_SUPPORT
228228
bool "Resource Time series data cache support"
229229
depends on (LWM2M_RW_SENML_JSON_SUPPORT || LWM2M_RW_SENML_CBOR_SUPPORT)
230-
depends on RING_BUFFER
231230
help
232231
Enable time series data storage.
233232
Requires time() to provide current Unix timestamp.

subsys/net/lib/lwm2m/lwm2m_message_handling.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1404,7 +1404,7 @@ static int lwm2m_read_cached_data(struct lwm2m_message *msg,
14041404
read_info = &msg->cache_info->read_info[msg->cache_info->entry_size];
14051405
/* Store original timeseries ring buffer get states for failure handling */
14061406
read_info->cache_data = cached_data;
1407-
read_info->original_rb_get = cached_data->rb.get;
1407+
read_info->original_rb_get = cached_data->rb.read_ptr;
14081408
msg->cache_info->entry_size++;
14091409
if (msg->cache_info->entry_limit) {
14101410
length = MIN(length, msg->cache_info->entry_limit);
@@ -3523,7 +3523,7 @@ static bool init_next_pending_timeseries_data(struct lwm2m_cache_read_info *cach
35233523

35243524
/* Check do we have still pending data to send */
35253525
for (int i = 0; i < cache_temp->entry_size; i++) {
3526-
if (ring_buf_is_empty(&cache_temp->read_info[i].cache_data->rb)) {
3526+
if (ring_buffer_empty(&cache_temp->read_info[i].cache_data->rb)) {
35273527
/* Skip Empty cached buffers */
35283528
continue;
35293529
}
@@ -3534,7 +3534,7 @@ static bool init_next_pending_timeseries_data(struct lwm2m_cache_read_info *cach
35343534
return false;
35353535
}
35363536

3537-
bytes_available += ring_buf_size_get(&cache_temp->read_info[i].cache_data->rb);
3537+
bytes_available += ring_buffer_size(&cache_temp->read_info[i].cache_data->rb);
35383538
}
35393539

35403540
if (bytes_available == 0) {

subsys/net/lib/lwm2m/lwm2m_registry.c

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -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

subsys/net/lib/lwm2m/lwm2m_registry.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ struct lwm2m_time_series_resource {
210210
/* Resource Path url */
211211
struct lwm2m_obj_path path;
212212
/* Ring buffer */
213-
struct ring_buf rb;
213+
struct ring_buffer rb;
214214
};
215215

216216
#if defined(CONFIG_LWM2M_RESOURCE_DATA_CACHE_SUPPORT)
@@ -219,7 +219,7 @@ struct lwm2m_time_series_resource {
219219

220220
struct lwm2m_cache_read_entry {
221221
struct lwm2m_time_series_resource *cache_data;
222-
struct ring_buf_index original_rb_get;
222+
ring_buffer_index_t original_rb_get;
223223
};
224224

225225
struct lwm2m_cache_read_info {

subsys/net/lib/sockets/socketpair.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ __net_socket struct spair {
4747
int remote; /**< the remote endpoint file descriptor */
4848
uint32_t flags; /**< status and option bits */
4949
struct k_sem sem; /**< semaphore for exclusive structure access */
50-
struct ring_buf recv_q;
50+
struct ring_buffer recv_q;
5151
/** indicates local @a recv_q isn't empty */
5252
struct k_poll_signal readable;
5353
/** indicates local @a recv_q isn't full */
@@ -106,7 +106,7 @@ static inline size_t spair_write_avail(struct spair *spair)
106106
return 0;
107107
}
108108

109-
return ring_buf_space_get(&remote->recv_q);
109+
return ring_buffer_space(&remote->recv_q);
110110
}
111111

112112
/**
@@ -117,7 +117,7 @@ static inline size_t spair_write_avail(struct spair *spair)
117117
*/
118118
static inline size_t spair_read_avail(struct spair *spair)
119119
{
120-
return ring_buf_size_get(&spair->recv_q);
120+
return ring_buffer_size(&spair->recv_q);
121121
}
122122

123123
/** Swap two 32-bit integers */
@@ -250,7 +250,7 @@ static struct spair *spair_new(void)
250250
spair->flags = SPAIR_FLAGS_DEFAULT;
251251

252252
k_sem_init(&spair->sem, 1, 1);
253-
ring_buf_init(&spair->recv_q, sizeof(spair->buf), spair->buf);
253+
ring_buffer_init(&spair->recv_q, spair->buf, sizeof(spair->buf));
254254
k_poll_signal_init(&spair->readable);
255255
k_poll_signal_init(&spair->writeable);
256256

@@ -550,7 +550,7 @@ static ssize_t spair_write(void *obj, const void *buffer, size_t count)
550550
}
551551
}
552552

553-
bytes_written = ring_buf_put(&remote->recv_q, (void *)buffer, count);
553+
bytes_written = ring_buffer_write(&remote->recv_q, (void *)buffer, count);
554554
if (spair_write_avail(spair) == 0) {
555555
k_poll_signal_reset(&remote->writeable);
556556
}
@@ -721,7 +721,7 @@ static ssize_t spair_read(void *obj, void *buffer, size_t count)
721721
}
722722
}
723723

724-
bytes_read = ring_buf_get(&spair->recv_q, (void *)buffer, count);
724+
bytes_read = ring_buffer_read(&spair->recv_q, (void *)buffer, count);
725725
if (spair_read_avail(spair) == 0 && !sock_is_eof(spair)) {
726726
k_poll_signal_reset(&spair->readable);
727727
}

0 commit comments

Comments
 (0)