// // Copyright © 2019 Arm Ltd. All rights reserved. // SPDX-License-Identifier: MIT // #pragma once #include "IPacketBuffer.hpp" #include #define MAX_METADATA_PACKET_LENGTH 4096 namespace armnn { namespace profiling { class IBufferManager { public: virtual ~IBufferManager() {} virtual std::unique_ptr Reserve(unsigned int requestedSize, unsigned int& reservedSize) = 0; virtual void Commit(std::unique_ptr& packetBuffer, unsigned int size) = 0; virtual void Release(std::unique_ptr& packetBuffer) = 0; virtual std::unique_ptr GetReadableBuffer() = 0; virtual void MarkRead(std::unique_ptr& packetBuffer) = 0; }; } // namespace profiling } // namespace armnn