ArmNN
 20.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 199 of file ProfilingMocks.hpp.

Constructor & Destructor Documentation

◆ MockBufferManager()

MockBufferManager ( unsigned int  size)
inline

Definition at line 202 of file ProfilingMocks.hpp.

203  : m_BufferSize(size),
204  m_Buffer(std::make_unique<MockPacketBuffer>(size)) {}

◆ ~MockBufferManager()

~MockBufferManager ( )
inline

Definition at line 206 of file ProfilingMocks.hpp.

206 {}

Member Function Documentation

◆ Commit()

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

Implements IBufferManager.

Definition at line 222 of file ProfilingMocks.hpp.

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

◆ FlushReadList()

void FlushReadList ( )
inlineoverridevirtual

Implements IBufferManager.

Definition at line 258 of file ProfilingMocks.hpp.

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

Referenced by BOOST_AUTO_TEST_CASE().

234  {
235  return std::move(m_Buffer);
236  }

◆ MarkRead()

void MarkRead ( IPacketBufferPtr packetBuffer)
inlineoverridevirtual

Implements IBufferManager.

Definition at line 244 of file ProfilingMocks.hpp.

Referenced by BOOST_AUTO_TEST_CASE().

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

◆ Release()

void Release ( IPacketBufferPtr packetBuffer)
inlineoverridevirtual

Implements IBufferManager.

Definition at line 238 of file ProfilingMocks.hpp.

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

◆ Reserve()

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

Implements IBufferManager.

Definition at line 208 of file ProfilingMocks.hpp.

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

◆ SetConsumer()

void SetConsumer ( IConsumer consumer)
inlineoverridevirtual

Implements IBufferManager.

Definition at line 250 of file ProfilingMocks.hpp.

251  {
252  if (consumer != nullptr)
253  {
254  m_Consumer = consumer;
255  }
256  }

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