Class CTraceFifoWriter#

Inheritance Relationships#

Base Type#

  • public CTraceFifoImpl

Derived Types#

Class Documentation#

class CTraceFifoWriter : public CTraceFifoImpl#

Writer class for a trace fifo. Only one writer should be present.

Subclassed by CTraceFifoStdBuffer, CTraceFifoStreamBuffer

Public Functions

CTraceFifoWriter(uint32_t uiInstanceID = 1000u, size_t nSize = 16384)#

Default constructor.

Parameters:
  • uiInstanceID[in] The instance ID to use for sending/monitoring the messages.

  • nSize[in] Default size of the fifo.

virtual ~CTraceFifoWriter() override#

Default destructor.

Remark

Automatically closes the fifo if opened before.

CTraceFifoWriter(const CTraceFifoWriter &rfifo) = delete#

Copy constructor is not available.

Parameters:

rfifo[in] Reference to the fifo to copy.

CTraceFifoWriter(CTraceFifoWriter &&rfifo) noexcept#

Move constructor.

Parameters:

rfifo[in] Reference to the fifo.

CTraceFifoWriter &operator=(const CTraceFifoWriter &rfifo) = delete#

Copy assignment is not available.

Parameters:

rfifo[in] Reference to the fifo.

Returns:

Returns a reference to this fifo.

CTraceFifoWriter &operator=(CTraceFifoWriter &&rfifo) noexcept#

Move assignment.

Parameters:

rfifo[in] Reference to the fifo.

Returns:

Returns a reference to this fifo.

virtual bool Open(size_t nTimeout = 1000, uint32_t uiFlags = 0u) override#

Open the fifo. Override of CTraceFifoBase::Open.

Parameters:
  • nTimeout[in] Timeout to return from this function. A timeout of 0xffffffff does not return until a connection has been established.

  • uiFlags[in] Zero or more flags of ETraceFifoOpenFlags enum.

Returns:

Returns true when connected; false otherwise.

virtual void Close() override#

Cancel any running task and close an open fifo. Override of CTraceFifoBase::Close.

void Publish(const std::string &rssMessage)#

Publish a message. If the buffer is full, the oldest message is removed.

Remark

Automatically opens the fifo if not opened before.

Parameters:

rssMessage[in] Reference to the message to publish.