ArmNN
 20.05
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 201 of file ProfilingMocks.hpp.

Constructor & Destructor Documentation

◆ MockBufferManager()

MockBufferManager ( unsigned int  size)
inline

Definition at line 204 of file ProfilingMocks.hpp.

205  : m_BufferSize(size),
206  m_Buffer(std::make_unique<MockPacketBuffer>(size)) {}

◆ ~MockBufferManager()

~MockBufferManager ( )
inline

Definition at line 208 of file ProfilingMocks.hpp.

208 {}

Member Function Documentation

◆ Commit()

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

Implements IBufferManager.

Definition at line 224 of file ProfilingMocks.hpp.

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

◆ FlushReadList()

void FlushReadList ( )
inlineoverridevirtual

Implements IBufferManager.

Definition at line 260 of file ProfilingMocks.hpp.

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

Referenced by BOOST_AUTO_TEST_CASE().

236  {
237  return std::move(m_Buffer);
238  }

◆ MarkRead()

void MarkRead ( IPacketBufferPtr packetBuffer)
inlineoverridevirtual

Implements IBufferManager.

Definition at line 246 of file ProfilingMocks.hpp.

Referenced by BOOST_AUTO_TEST_CASE().

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

◆ Release()

void Release ( IPacketBufferPtr packetBuffer)
inlineoverridevirtual

Implements IBufferManager.

Definition at line 240 of file ProfilingMocks.hpp.

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

◆ Reserve()

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

Implements IBufferManager.

Definition at line 210 of file ProfilingMocks.hpp.

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

◆ SetConsumer()

void SetConsumer ( IConsumer consumer)
inlineoverridevirtual

Implements IBufferManager.

Definition at line 252 of file ProfilingMocks.hpp.

253  {
254  if (consumer != nullptr)
255  {
256  m_Consumer = consumer;
257  }
258  }

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