23 std::vector<uint32_t> headers;
24 headers.push_back(m_DirectoryHeader);
25 headers.push_back(m_MessageHeader);
31 if (packet.GetHeader() == m_DirectoryHeader)
33 ProcessDirectoryPacket(packet);
35 else if (packet.GetHeader() == m_MessageHeader)
37 ProcessMessagePacket(packet);
42 ss <<
"Received a packet with unknown header [" << packet.GetHeader() <<
"]";
49 m_Connection->
Close();
54 std::unique_lock<std::mutex> lck(m_InferenceCompletedMutex);
56 auto start = std::chrono::high_resolution_clock::now();
59 if (!m_InferenceCompletedConditionVariable.wait_for(lck,
60 std::chrono::milliseconds(timeout),
61 [&]{return m_InferenceCompleted == true;}))
63 auto finish = std::chrono::high_resolution_clock::now();
64 std::chrono::duration<double, std::milli> elapsed = finish - start;
66 ss <<
"Timed out waiting on inference completion for " << elapsed.count() <<
" ms";
75 std::unique_lock<std::mutex> lck(m_InferenceCompletedMutex);
76 m_InferenceCompleted =
true;
78 m_InferenceCompletedConditionVariable.notify_one();
81 void TestTimelinePacketHandler::ProcessDirectoryPacket(
const Packet& packet)
83 m_DirectoryDecoder(packet);
86 void TestTimelinePacketHandler::ProcessMessagePacket(
const Packet& packet)
103 if (m_PacketHandler !=
nullptr)
105 m_PacketHandler->SetInferenceComplete();
virtual TimelineStatus CreateRelationship(const Relationship &) override
virtual TimelineStatus CreateEvent(const Event &) override
virtual TimelineStatus CreateLabel(const Label &) override
virtual void HandlePacket(const Packet &packet) override
process the packet
Copyright (c) 2020 ARM Limited.
void IgnoreUnused(Ts &&...)
virtual std::vector< uint32_t > GetHeadersAccepted() override
void AddEntity(uint64_t guid)
void AddRelationship(const ITimelineDecoder::Relationship &relationship)
void SetInferenceComplete()
Base class for all ArmNN exceptions so that users can filter to just those.
virtual TimelineStatus CreateEventClass(const EventClass &) override
void WaitOnInferenceCompletion(unsigned int timeout)
virtual TimelineStatus CreateEntity(const Entity &) override
void AddLabel(const ITimelineDecoder::Label &label)