ArmNN
 21.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
 
void Destroy () override
 release the memory held and reset internal point to null. More...
 
- 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 }

◆ Destroy()

void Destroy ( )
overridevirtual

release the memory held and reset internal point to null.

After this function is invoked the PacketBuffer is unusable.

Implements IPacketBuffer.

Definition at line 58 of file PacketBuffer.cpp.

Referenced by PacketBuffer::~PacketBuffer().

59 {
60  m_Data.reset(nullptr);
61  m_Size = 0;
62  m_MaxSize = 0;
63 }

◆ 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: