rusEFI
The most advanced open source ECU
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes
LogBuffer< TBufferSize > Class Template Reference

#include <loggingcentral.h>

Collaboration diagram for LogBuffer< TBufferSize >:
Collaboration graph
[legend]

Public Member Functions

void writeLine (LogLineBuffer *line)
 
void writeLogger (Logging *logging)
 
size_t length () const
 
void reset ()
 
const charget () const
 

Private Member Functions

void writeInternal (const char *buffer)
 

Private Attributes

char m_buffer [TBufferSize]
 
charm_writePtr = m_buffer
 

Detailed Description

template<size_t TBufferSize>
class LogBuffer< TBufferSize >

Definition at line 44 of file loggingcentral.h.

Member Function Documentation

◆ get()

template<size_t TBufferSize>
const char * LogBuffer< TBufferSize >::get ( ) const

Definition at line 54 of file loggingcentral.cpp.

54 {
55 return m_buffer;
56}
char m_buffer[TBufferSize]

Referenced by swapOutputBuffers().

Here is the caller graph for this function:

◆ length()

template<size_t TBufferSize>
size_t LogBuffer< TBufferSize >::length ( ) const

Definition at line 43 of file loggingcentral.cpp.

43 {
44 return m_writePtr - m_buffer;
45}
char * m_writePtr

Referenced by swapOutputBuffers().

Here is the caller graph for this function:

◆ reset()

template<size_t TBufferSize>
void LogBuffer< TBufferSize >::reset ( )

Definition at line 48 of file loggingcentral.cpp.

48 {
50 *m_writePtr = '\0';
51}

Referenced by swapOutputBuffers().

Here is the caller graph for this function:

◆ writeInternal()

template<size_t TBufferSize>
void LogBuffer< TBufferSize >::writeInternal ( const char buffer)
private

Definition at line 59 of file loggingcentral.cpp.

59 {
60 size_t len = std::strlen(buffer);
61 // leave one byte extra at the end to guarantee room for a null terminator
62 size_t available = TBufferSize - length() - 1;
63
64 // If we can't fit the whole thing, write as much as we can
65 len = minI(available, len);
66 // Ensure the output buffer is always null terminated (in case we did a partial write)
67 *(m_writePtr + len) = '\0';
68 memcpy(m_writePtr, buffer, len);
69 m_writePtr += len;
70}
size_t length() const
static BigBufferHandle buffer

◆ writeLine()

template<size_t TBufferSize>
void LogBuffer< TBufferSize >::writeLine ( LogLineBuffer line)

Definition at line 33 of file loggingcentral.cpp.

33 {
34 writeInternal(line->buffer);
35}
void writeInternal(const char *buffer)
char buffer[256]

◆ writeLogger()

template<size_t TBufferSize>
void LogBuffer< TBufferSize >::writeLogger ( Logging logging)

Definition at line 38 of file loggingcentral.cpp.

38 {
39 writeInternal(logging->buffer);
40}
char *const buffer
Definition datalogging.h:63

Referenced by scheduleLogging().

Here is the caller graph for this function:

Field Documentation

◆ m_buffer

template<size_t TBufferSize>
char LogBuffer< TBufferSize >::m_buffer[TBufferSize]
private

Definition at line 58 of file loggingcentral.h.

◆ m_writePtr

template<size_t TBufferSize>
char* LogBuffer< TBufferSize >::m_writePtr = m_buffer
private

Definition at line 59 of file loggingcentral.h.


The documentation for this class was generated from the following files: