From bbfe603e5ae42317a2b67d713d00882bea341c88 Mon Sep 17 00:00:00 2001 From: Jim Flynn Date: Mon, 20 Jul 2020 16:57:44 +0100 Subject: IVGCVSW-5166 Pull out the common and server side code into standalone libraries Change-Id: I180f84c493a9b2be4b93b25d312ebdd9e71b1735 Signed-off-by: Jim Flynn --- .../server/src/basePipeServer/BasePipeServer.hpp | 116 --------------------- 1 file changed, 116 deletions(-) delete mode 100644 profiling/server/src/basePipeServer/BasePipeServer.hpp (limited to 'profiling/server/src/basePipeServer/BasePipeServer.hpp') diff --git a/profiling/server/src/basePipeServer/BasePipeServer.hpp b/profiling/server/src/basePipeServer/BasePipeServer.hpp deleted file mode 100644 index bef9d29f44..0000000000 --- a/profiling/server/src/basePipeServer/BasePipeServer.hpp +++ /dev/null @@ -1,116 +0,0 @@ -// -// Copyright © 2020 Arm Ltd. All rights reserved. -// SPDX-License-Identifier: MIT -// - -#pragma once - -#include -#include -#include - -#include -#include - -namespace armnnProfiling -{ - -enum class TargetEndianness -{ - BeWire, - LeWire -}; - -enum class PacketDirection -{ - Sending, - ReceivedHeader, - ReceivedData -}; -class ConnectionHandler; - -class BasePipeServer -{ - -public: - - BasePipeServer(armnnUtils::Sockets::Socket clientConnection, bool echoPackets) - : m_ClientConnection(clientConnection) - , m_EchoPackets(echoPackets) - {} - - ~BasePipeServer() - { - // We have set SOCK_CLOEXEC on this socket but we'll close it to be good citizens. - armnnUtils::Sockets::Close(m_ClientConnection); - } - - BasePipeServer(const BasePipeServer&) = delete; - BasePipeServer& operator=(const BasePipeServer&) = delete; - - BasePipeServer(BasePipeServer&&) = delete; - BasePipeServer& operator=(BasePipeServer&&) = delete; - - /// Close the client connection - /// @return 0 if successful - int Close() - { - return armnnUtils::Sockets::Close(m_ClientConnection); - } - - /// Send a packet to the client - /// @return true if a valid packet has been sent. - bool SendPacket(uint32_t packetFamily, uint32_t packetId, const uint8_t* data, uint32_t dataLength); - - /// Set the client socket to nonblocking - /// @return true if successful. - bool SetNonBlocking() - { - return armnnUtils::Sockets::SetNonBlocking(m_ClientConnection); - } - - /// Block on the client connection until a complete packet has been received. - /// @return true if a valid packet has been received. - armnn::profiling::Packet WaitForPacket(uint32_t timeoutMs); - - /// Once the connection is open wait to receive the stream meta data packet from the client. Reading this - /// packet differs from others as we need to determine endianness. - /// @return true only if a valid stream meta data packet has been received. - bool WaitForStreamMetaData(); - - uint32_t GetStreamMetadataVersion() - { - return m_StreamMetaDataVersion; - } - - uint32_t GetStreamMetadataMaxDataLen() - { - return m_StreamMetaDataMaxDataLen; - } - - uint32_t GetStreamMetadataPid() - { - return m_StreamMetaDataPid; - } - -private: - - void EchoPacket(PacketDirection direction, uint8_t* packet, size_t lengthInBytes); - bool ReadFromSocket(uint8_t* packetData, uint32_t expectedLength); - bool ReadHeader(uint32_t headerAsWords[2]); - - armnn::profiling::Packet ReceivePacket(); - - uint32_t ToUint32(uint8_t* data, TargetEndianness endianness); - void InsertU32(uint32_t value, uint8_t* data, TargetEndianness endianness); - - armnnUtils::Sockets::Socket m_ClientConnection; - bool m_EchoPackets; - TargetEndianness m_Endianness; - - uint32_t m_StreamMetaDataVersion; - uint32_t m_StreamMetaDataMaxDataLen; - uint32_t m_StreamMetaDataPid; -}; - -} // namespace armnnProfiling \ No newline at end of file -- cgit v1.2.1