ArmNN
 22.02
DeactivateTimelineReportingCommandHandler.cpp
Go to the documentation of this file.
1 //
2 // Copyright © 2020 Arm Ltd and Contributors. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
7 
8 #include <armnn/Exceptions.hpp>
9 #include <fmt/format.h>
10 
11 
12 namespace armnn
13 {
14 
15 namespace profiling
16 {
17 
18 void DeactivateTimelineReportingCommandHandler::operator()(const arm::pipe::Packet& packet)
19 {
20  ProfilingState currentState = m_StateMachine.GetCurrentState();
21 
22  switch ( currentState )
23  {
27  throw RuntimeException(fmt::format(
28  "Deactivate Timeline Reporting Command Handler invoked while in a wrong state: {}",
29  GetProfilingStateName(currentState)));
31  if (!(packet.GetPacketFamily() == 0u && packet.GetPacketId() == 7u))
32  {
33  throw armnn::Exception(std::string("Expected Packet family = 0, id = 7 but received family =")
34  + std::to_string(packet.GetPacketFamily())
35  +" id = " + std::to_string(packet.GetPacketId()));
36  }
37 
38  m_TimelineReporting.store(false);
39 
40  // Notify Backends
41  m_BackendNotifier.NotifyBackendsForTimelineReporting();
42 
43  break;
44  default:
45  throw RuntimeException(fmt::format("Unknown profiling service state: {}",
46  static_cast<int>(currentState)));
47  }
48 }
49 
50 } // namespace profiling
51 
52 } // namespace armnn
53 
virtual void NotifyBackendsForTimelineReporting()=0
Copyright (c) 2021 ARM Limited and Contributors.
Base class for all ArmNN exceptions so that users can filter to just those.
Definition: Exceptions.hpp:46
constexpr char const * GetProfilingStateName(ProfilingState state)