blob: 02fe3b99d80b3de1edbae2c9ff3b362afe7fd7db [file] [log] [blame]
//
// Copyright © 2019 Arm Ltd. All rights reserved.
// SPDX-License-Identifier: MIT
//
#pragma once
#include "IPacketBuffer.hpp"
#include <memory>
namespace armnn
{
namespace profiling
{
class PacketBuffer : public IPacketBuffer
{
public:
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;
private:
unsigned int m_MaxSize;
unsigned int m_Size;
std::unique_ptr<unsigned char[]> m_Data;
};
} // namespace profiling
} // namespace armnn