MRPT  2.0.4
List of all members | Public Member Functions | Private Attributes
mrpt::containers::MT_buffer Class Reference

Detailed Description

This class is a bulk sequence of bytes with MultiThread (MT)-safe read and write operations.

Definition at line 22 of file MT_buffer.h.

#include <mrpt/containers/MT_buffer.h>

Public Member Functions

 MT_buffer ()=default
 Default constructor. More...
 
virtual ~MT_buffer ()=default
 Destructor. More...
 
void clear ()
 Empty the buffer. More...
 
size_t size ()
 Return the number of available bytes at this moment. More...
 
void appendData (const std::vector< uint8_t > &d)
 Append new data to the stream. More...
 
void readAndClear (std::vector< uint8_t > &d)
 Read the whole buffer and empty it. More...
 
void read (std::vector< uint8_t > &d)
 Read the whole buffer. More...
 

Private Attributes

std::vector< uint8_t > m_data
 
std::mutex m_cs
 

Constructor & Destructor Documentation

◆ MT_buffer()

mrpt::containers::MT_buffer::MT_buffer ( )
default

Default constructor.

◆ ~MT_buffer()

virtual mrpt::containers::MT_buffer::~MT_buffer ( )
virtualdefault

Destructor.

Member Function Documentation

◆ appendData()

void mrpt::containers::MT_buffer::appendData ( const std::vector< uint8_t > &  d)
inline

Append new data to the stream.

Definition at line 52 of file MT_buffer.h.

References m_cs, and m_data.

Referenced by mrpt::hwdrivers::CNTRIPClient::private_ntrip_thread(), and mrpt::hwdrivers::CNTRIPClient::sendBackToServer().

Here is the caller graph for this function:

◆ clear()

void mrpt::containers::MT_buffer::clear ( )
inline

Empty the buffer.

Definition at line 34 of file MT_buffer.h.

References m_cs, and m_data.

Referenced by mrpt::hwdrivers::CNTRIPClient::close(), and mrpt::hwdrivers::CNTRIPClient::private_ntrip_thread().

Here is the caller graph for this function:

◆ read()

void mrpt::containers::MT_buffer::read ( std::vector< uint8_t > &  d)
inline

Read the whole buffer.

Definition at line 69 of file MT_buffer.h.

References m_cs, and m_data.

◆ readAndClear()

void mrpt::containers::MT_buffer::readAndClear ( std::vector< uint8_t > &  d)
inline

Read the whole buffer and empty it.

Definition at line 60 of file MT_buffer.h.

References m_cs, and m_data.

Referenced by mrpt::hwdrivers::CNTRIPEmitter::doProcess(), and mrpt::hwdrivers::CNTRIPClient::private_ntrip_thread().

Here is the caller graph for this function:

◆ size()

size_t mrpt::containers::MT_buffer::size ( )
inline

Return the number of available bytes at this moment.

Definition at line 42 of file MT_buffer.h.

References m_cs, and m_data.

Referenced by mrpt::hwdrivers::CNTRIPClient::private_ntrip_thread().

Here is the caller graph for this function:

Member Data Documentation

◆ m_cs

std::mutex mrpt::containers::MT_buffer::m_cs
private

Definition at line 26 of file MT_buffer.h.

Referenced by appendData(), clear(), read(), readAndClear(), and size().

◆ m_data

std::vector<uint8_t> mrpt::containers::MT_buffer::m_data
private

Definition at line 25 of file MT_buffer.h.

Referenced by appendData(), clear(), read(), readAndClear(), and size().




Page generated by Doxygen 1.8.14 for MRPT 2.0.4 Git: 33de1d0ad Sat Jun 20 11:02:42 2020 +0200 at sáb jun 20 17:35:17 CEST 2020