blob: a3d95d41087b4aa487b39e230cdb86139ca689a3 [file] [log] [blame]
Narumol Prangnawarat7be47ef2019-09-27 18:00:11 +01001//
2// Copyright © 2019 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
8#include "IPacketBuffer.hpp"
9
10#include <memory>
11
12namespace armnn
13{
14
15namespace profiling
16{
17
18class PacketBuffer : public IPacketBuffer
19{
20public:
21 PacketBuffer(unsigned int maxSize);
22
23 ~PacketBuffer() {}
24
25 const unsigned char* const GetReadableData() const override;
26
27 unsigned int GetSize() const override;
28
29 void MarkRead() override;
30
31 void Commit(unsigned int size) override;
32
33 void Release() override;
34
35 unsigned char* GetWritableData() override;
36
37private:
38 unsigned int m_MaxSize;
39 unsigned int m_Size;
40 std::unique_ptr<unsigned char[]> m_Data;
41};
42
43} // namespace profiling
44
45} // namespace armnn