diff options
author | FinnWilliamsArm <Finn.Williams@arm.com> | 2019-09-17 16:53:53 +0100 |
---|---|---|
committer | Jim Flynn Arm <jim.flynn@arm.com> | 2019-09-24 23:44:51 +0000 |
commit | 4833cea9036df428634cf64d8f1c4b54fc5da41f (patch) | |
tree | ab5857df8a0761b4df2d894ed0785a9b6db64363 /src/profiling/CommandThread.hpp | |
parent | 11b2eca4ab0c0e897b858f61be7e6b90f810fd2b (diff) | |
download | armnn-4833cea9036df428634cf64d8f1c4b54fc5da41f.tar.gz |
IVGCVSW-3439 Create the Command Thread
Signed-off-by: FinnWilliamsArm <Finn.Williams@arm.com>
Change-Id: I9548c5937967f4c25841bb851273168379687bcd
Diffstat (limited to 'src/profiling/CommandThread.hpp')
-rw-r--r-- | src/profiling/CommandThread.hpp | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/src/profiling/CommandThread.hpp b/src/profiling/CommandThread.hpp new file mode 100644 index 0000000000..6237cd2914 --- /dev/null +++ b/src/profiling/CommandThread.hpp @@ -0,0 +1,53 @@ +// +// Copyright © 2019 Arm Ltd. All rights reserved. +// SPDX-License-Identifier: MIT +// + +#pragma once + +#include "CommandHandlerRegistry.hpp" +#include "IProfilingConnection.hpp" +#include "PacketVersionResolver.hpp" +#include "ProfilingService.hpp" + +#include <atomic> +#include <thread> + +namespace armnn +{ + +namespace profiling +{ + +class CommandThread +{ +public: + CommandThread(uint32_t timeout, + bool stopAfterTimeout, + CommandHandlerRegistry& commandHandlerRegistry, + PacketVersionResolver& packetVersionResolver, + IProfilingConnection& socketProfilingConnection); + + void Start(); + void Stop(); + void Join(); + bool IsRunning() const; + bool StopAfterTimeout(bool StopAfterTimeout); + +private: + void WaitForPacket(); + + uint32_t m_Timeout; + bool m_StopAfterTimeout; + std::atomic<bool> m_IsRunning; + std::atomic<bool> m_KeepRunning; + std::thread m_CommandThread; + + CommandHandlerRegistry& m_CommandHandlerRegistry; + PacketVersionResolver& m_PacketVersionResolver; + IProfilingConnection& m_SocketProfilingConnection; +}; + +}//namespace profiling + +}//namespace armnn
\ No newline at end of file |