blob: f03b301697b9e9de2c20a74ddbe84d50774bf064 [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
Matteo Martincigh76c50d82019-11-21 12:10:42 +000025 const unsigned char* GetReadableData() const override;
Narumol Prangnawarat7be47ef2019-09-27 18:00:11 +010026
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
Matteo Martincigh76c50d82019-11-21 12:10:42 +000045} // namespace armnn