// // Copyright © 2019 Arm Ltd. All rights reserved. // SPDX-License-Identifier: MIT // #pragma once #include "../SendCounterPacket.hpp" #include "../ProfilingUtils.hpp" #include #include #include #include using namespace armnn::profiling; class MockBuffer : public IBufferWrapper { public: MockBuffer(unsigned int size) : m_BufferSize(size), m_Buffer(std::make_unique(size)) {} unsigned char* Reserve(unsigned int requestedSize, unsigned int& reservedSize) override { if (requestedSize > m_BufferSize) { reservedSize = m_BufferSize; } else { reservedSize = requestedSize; } return m_Buffer.get(); } void Commit(unsigned int size) override {} const unsigned char* GetReadBuffer(unsigned int& size) override { size = static_cast(strlen(reinterpret_cast(m_Buffer.get())) + 1); return m_Buffer.get(); } void Release( unsigned int size) override {} private: unsigned int m_BufferSize; std::unique_ptr m_Buffer; }; class MockSendCounterPacket : public ISendCounterPacket { public: MockSendCounterPacket(IBufferWrapper& sendBuffer) : m_Buffer(sendBuffer) {} void SendStreamMetaDataPacket() override { std::string message("SendStreamMetaDataPacket"); unsigned int reserved = 0; unsigned char* buffer = m_Buffer.Reserve(1024, reserved); memcpy(buffer, message.c_str(), static_cast(message.size()) + 1); } void SendCounterDirectoryPacket(const CounterDirectory& counterDirectory) override { std::string message("SendCounterDirectoryPacket"); unsigned int reserved = 0; unsigned char* buffer = m_Buffer.Reserve(1024, reserved); memcpy(buffer, message.c_str(), static_cast(message.size()) + 1); } void SendPeriodicCounterCapturePacket(uint64_t timestamp, const std::vector>& values) override { std::string message("SendPeriodicCounterCapturePacket"); unsigned int reserved = 0; unsigned char* buffer = m_Buffer.Reserve(1024, reserved); memcpy(buffer, message.c_str(), static_cast(message.size()) + 1); } void SendPeriodicCounterSelectionPacket(uint32_t capturePeriod, const std::vector& selectedCounterIds) override { std::string message("SendPeriodicCounterSelectionPacket"); unsigned int reserved = 0; unsigned char* buffer = m_Buffer.Reserve(1024, reserved); memcpy(buffer, message.c_str(), static_cast(message.size()) + 1); m_Buffer.Commit(reserved); } void SetReadyToRead() override {} private: IBufferWrapper& m_Buffer; };