aboutsummaryrefslogtreecommitdiff
path: root/src/profiling/SendThread.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/profiling/SendThread.hpp')
-rw-r--r--src/profiling/SendThread.hpp77
1 files changed, 0 insertions, 77 deletions
diff --git a/src/profiling/SendThread.hpp b/src/profiling/SendThread.hpp
deleted file mode 100644
index b96a6d54f3..0000000000
--- a/src/profiling/SendThread.hpp
+++ /dev/null
@@ -1,77 +0,0 @@
-//
-// Copyright © 2020 Arm Ltd. All rights reserved.
-// SPDX-License-Identifier: MIT
-//
-
-#pragma once
-
-#include "IBufferManager.hpp"
-#include "IConsumer.hpp"
-#include "ISendThread.hpp"
-#include "IProfilingConnection.hpp"
-#include "ProfilingStateMachine.hpp"
-#include "ProfilingUtils.hpp"
-
-#include <client/include/ISendCounterPacket.hpp>
-
-#include <common/include/ICounterDirectory.hpp>
-
-#include <atomic>
-#include <condition_variable>
-#include <mutex>
-#include <thread>
-#include <type_traits>
-
-namespace arm
-{
-
-namespace pipe
-{
-
-class SendThread : public ISendThread, public IConsumer
-{
-public:
- SendThread(ProfilingStateMachine& profilingStateMachine,
- IBufferManager& buffer, ISendCounterPacket& sendCounterPacket, int timeout= 1000);
- ~SendThread()
- {
- // Don't rethrow when destructing the object
- Stop(false);
- }
- void Start(IProfilingConnection& profilingConnection) override;
-
- void Stop(bool rethrowSendThreadExceptions = true) override;
-
- void SetReadyToRead() override;
-
- bool IsRunning() { return m_IsRunning.load(); }
-
- bool WaitForPacketSent(uint32_t timeout);
-
-private:
- void Send(IProfilingConnection& profilingConnection);
-
- void FlushBuffer(IProfilingConnection& profilingConnection, bool notifyWatchers = true);
-
- ProfilingStateMachine& m_StateMachine;
- IBufferManager& m_BufferManager;
- ISendCounterPacket& m_SendCounterPacket;
- int m_Timeout;
- std::mutex m_WaitMutex;
- std::condition_variable m_WaitCondition;
- std::thread m_SendThread;
- std::atomic<bool> m_IsRunning;
- std::atomic<bool> m_KeepRunning;
- // m_ReadyToRead will be protected by m_WaitMutex
- bool m_ReadyToRead;
- // m_PacketSent will be protected by m_PacketSentWaitMutex
- bool m_PacketSent;
- std::exception_ptr m_SendThreadException;
- std::mutex m_PacketSentWaitMutex;
- std::condition_variable m_PacketSentWaitCondition;
-
-};
-
-} // namespace pipe
-
-} // namespace arm