ArmNN
 20.02
PacketBuffer Class Reference

#include <PacketBuffer.hpp>

Inheritance diagram for PacketBuffer:
IPacketBuffer IReadOnlyPacketBuffer

Public Member Functions

 PacketBuffer (unsigned int maxSize)
 
 ~PacketBuffer ()
 
const unsigned char * GetReadableData () const override
 
unsigned int GetSize () const override
 
void MarkRead () override
 
void Commit (unsigned int size) override
 
void Release () override
 
unsigned char * GetWritableData () override
 
- Public Member Functions inherited from IPacketBuffer
virtual ~IPacketBuffer ()
 
- Public Member Functions inherited from IReadOnlyPacketBuffer
virtual ~IReadOnlyPacketBuffer ()
 

Detailed Description

Definition at line 18 of file PacketBuffer.hpp.

Constructor & Destructor Documentation

◆ PacketBuffer()

PacketBuffer ( unsigned int  maxSize)

Definition at line 16 of file PacketBuffer.cpp.

17  : m_MaxSize(maxSize)
18  , m_Size(0)
19 {
20  m_Data = std::make_unique<unsigned char[]>(m_MaxSize);
21 }

◆ ~PacketBuffer()

Member Function Documentation

◆ Commit()

void Commit ( unsigned int  size)
overridevirtual

Implements IPacketBuffer.

Definition at line 38 of file PacketBuffer.cpp.

Referenced by PacketBuffer::~PacketBuffer().

39 {
40  if (size > m_MaxSize)
41  {
42  throw armnn::RuntimeException("Cannot commit [" + std::to_string(size) +
43  "] bytes which is more than the maximum size of the buffer [" + std::to_string(m_MaxSize) + "]");
44  }
45  m_Size = size;
46 }

◆ GetReadableData()

const unsigned char * GetReadableData ( ) const
overridevirtual

Implements IReadOnlyPacketBuffer.

Definition at line 23 of file PacketBuffer.cpp.

Referenced by PacketBuffer::~PacketBuffer().

24 {
25  return m_Data.get();
26 }

◆ GetSize()

unsigned int GetSize ( ) const
overridevirtual

Implements IReadOnlyPacketBuffer.

Definition at line 28 of file PacketBuffer.cpp.

Referenced by PacketBuffer::~PacketBuffer().

29 {
30  return m_Size;
31 }

◆ GetWritableData()

unsigned char * GetWritableData ( )
overridevirtual

Implements IPacketBuffer.

Definition at line 53 of file PacketBuffer.cpp.

Referenced by PacketBuffer::~PacketBuffer().

54 {
55  return m_Data.get();
56 }

◆ MarkRead()

void MarkRead ( )
overridevirtual

Implements IReadOnlyPacketBuffer.

Definition at line 33 of file PacketBuffer.cpp.

Referenced by PacketBuffer::~PacketBuffer().

34 {
35  m_Size = 0;
36 }

◆ Release()

void Release ( )
overridevirtual

Implements IPacketBuffer.

Definition at line 48 of file PacketBuffer.cpp.

Referenced by PacketBuffer::~PacketBuffer().

49 {
50  m_Size = 0;
51 }

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