Source code for dlt_hv/shmem_ring_buffer.h
// SPDX-License-Identifier: MIT
#pragma once
#include <safu/result.h>
#include <safu/ringbuffer_types.h>
#include "dlt_hv/types.h"
#include "elos/libelosplugin/types.h"
[docs]/*************************************************
* Read the `elosEbLogRingBuffer_t` and write all new entries into the readQueue
*
* Parameters:
* buff: The DLT ring buffer to check for new entries
* idxRead: The read index to start reading from (will be updated if new entries are read)
* readQueue: The queue to write them to for further processing
*
* Returns:
* - SAFU_RESULT_OK: on success
* - SAFU_RESULT_NOT_FOUND: when nothing new was in the `elosEbLogRingBuffer_t`
* - SAFU_RESULT_FAILED: on error
*************************************************/
safuResultE_t elosQueueNextLogEntries(elosEbLogRingBuffer_t *buff, uint16_t *idxRead, safuRingBuffer_t *readQueue);
[docs]/*************************************************
* publishes all the entreis from the read queue to elos
*
* Parameters:
* readQueue: the queue to read the next entries from
* plugin: the reference to the plugin
* publisher: the publisher to publish to
*************************************************/
safuResultE_t elosPublishEntriesFromQueue(safuRingBuffer_t *readQueue, elosPlugin_t *plugin,
struct elosPublisher *publisher);
[docs]/*************************************************
* frees the memory of a dlt log entry
*
* Parameters:
* entry: the entry to free
*************************************************/
safuResultE_t elosFreeEbLogEntry(elosEbLogEntry_t *entry);