ArmNN
 20.08
MockBufferManager Class Reference

#include <ProfilingMocks.hpp>

Inheritance diagram for MockBufferManager:
IBufferManager

Public Member Functions

 MockBufferManager (unsigned int size)
 
 ~MockBufferManager ()
 
IPacketBufferPtr Reserve (unsigned int requestedSize, unsigned int &reservedSize) override
 
void Commit (IPacketBufferPtr &packetBuffer, unsigned int size, bool notifyConsumer=true) override
 
IPacketBufferPtr GetReadableBuffer () override
 
void Release (IPacketBufferPtr &packetBuffer) override
 
void MarkRead (IPacketBufferPtr &packetBuffer) override
 
void SetConsumer (IConsumer *consumer) override
 
void FlushReadList () override
 
- Public Member Functions inherited from IBufferManager
virtual ~IBufferManager ()
 

Detailed Description

Definition at line 204 of file ProfilingMocks.hpp.

Constructor & Destructor Documentation

◆ MockBufferManager()

MockBufferManager ( unsigned int  size)
inline

Definition at line 207 of file ProfilingMocks.hpp.

208  : m_BufferSize(size),
209  m_Buffer(std::make_unique<MockPacketBuffer>(size)) {}

◆ ~MockBufferManager()

~MockBufferManager ( )
inline

Definition at line 211 of file ProfilingMocks.hpp.

211 {}

Member Function Documentation

◆ Commit()

void Commit ( IPacketBufferPtr packetBuffer,
unsigned int  size,
bool  notifyConsumer = true 
)
inlineoverridevirtual

Implements IBufferManager.

Definition at line 227 of file ProfilingMocks.hpp.

228  {
229  packetBuffer->Commit(size);
230  m_Buffer = std::move(packetBuffer);
231 
232  if (notifyConsumer)
233  {
234  FlushReadList();
235  }
236  }

◆ FlushReadList()

void FlushReadList ( )
inlineoverridevirtual

Implements IBufferManager.

Definition at line 263 of file ProfilingMocks.hpp.

264  {
265  // notify consumer that packet is ready to read
266  if (m_Consumer != nullptr)
267  {
268  m_Consumer->SetReadyToRead();
269  }
270  }
virtual void SetReadyToRead()=0
Set a "ready to read" flag in the buffer to notify the reading thread to start reading it...

◆ GetReadableBuffer()

IPacketBufferPtr GetReadableBuffer ( )
inlineoverridevirtual

Implements IBufferManager.

Definition at line 238 of file ProfilingMocks.hpp.

Referenced by BOOST_AUTO_TEST_CASE().

239  {
240  return std::move(m_Buffer);
241  }

◆ MarkRead()

void MarkRead ( IPacketBufferPtr packetBuffer)
inlineoverridevirtual

Implements IBufferManager.

Definition at line 249 of file ProfilingMocks.hpp.

Referenced by BOOST_AUTO_TEST_CASE().

250  {
251  packetBuffer->MarkRead();
252  m_Buffer = std::move(packetBuffer);
253  }

◆ Release()

void Release ( IPacketBufferPtr packetBuffer)
inlineoverridevirtual

Implements IBufferManager.

Definition at line 243 of file ProfilingMocks.hpp.

244  {
245  packetBuffer->Release();
246  m_Buffer = std::move(packetBuffer);
247  }

◆ Reserve()

IPacketBufferPtr Reserve ( unsigned int  requestedSize,
unsigned int &  reservedSize 
)
inlineoverridevirtual

Implements IBufferManager.

Definition at line 213 of file ProfilingMocks.hpp.

214  {
215  if (requestedSize > m_BufferSize)
216  {
217  reservedSize = m_BufferSize;
218  }
219  else
220  {
221  reservedSize = requestedSize;
222  }
223 
224  return std::move(m_Buffer);
225  }

◆ SetConsumer()

void SetConsumer ( IConsumer consumer)
inlineoverridevirtual

Implements IBufferManager.

Definition at line 255 of file ProfilingMocks.hpp.

256  {
257  if (consumer != nullptr)
258  {
259  m_Consumer = consumer;
260  }
261  }

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