ArmNN
 21.02
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 203 of file ProfilingMocks.hpp.

Constructor & Destructor Documentation

◆ MockBufferManager()

MockBufferManager ( unsigned int  size)
inline

Definition at line 206 of file ProfilingMocks.hpp.

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

◆ ~MockBufferManager()

~MockBufferManager ( )
inline

Definition at line 210 of file ProfilingMocks.hpp.

210 {}

Member Function Documentation

◆ Commit()

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

Implements IBufferManager.

Definition at line 226 of file ProfilingMocks.hpp.

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

◆ FlushReadList()

void FlushReadList ( )
inlineoverridevirtual

Implements IBufferManager.

Definition at line 262 of file ProfilingMocks.hpp.

263  {
264  // notify consumer that packet is ready to read
265  if (m_Consumer != nullptr)
266  {
267  m_Consumer->SetReadyToRead();
268  }
269  }
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 237 of file ProfilingMocks.hpp.

Referenced by BOOST_AUTO_TEST_CASE().

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

◆ MarkRead()

void MarkRead ( IPacketBufferPtr packetBuffer)
inlineoverridevirtual

Implements IBufferManager.

Definition at line 248 of file ProfilingMocks.hpp.

Referenced by BOOST_AUTO_TEST_CASE().

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

◆ Release()

void Release ( IPacketBufferPtr packetBuffer)
inlineoverridevirtual

Implements IBufferManager.

Definition at line 242 of file ProfilingMocks.hpp.

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

◆ Reserve()

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

Implements IBufferManager.

Definition at line 212 of file ProfilingMocks.hpp.

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

◆ SetConsumer()

void SetConsumer ( IConsumer consumer)
inlineoverridevirtual

Implements IBufferManager.

Definition at line 254 of file ProfilingMocks.hpp.

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

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