ArmNN
 20.05
DeactivateTimelineReportingCommandHandler Class Reference

#include <DeactivateTimelineReportingCommandHandler.hpp>

Inheritance diagram for DeactivateTimelineReportingCommandHandler:
CommandHandlerFunctor

Public Member Functions

 DeactivateTimelineReportingCommandHandler (uint32_t familyId, uint32_t packetId, uint32_t version, std::atomic< bool > &timelineReporting, ProfilingStateMachine &profilingStateMachine, INotifyBackends &notifyBackends)
 
void operator() (const Packet &packet) override
 
- Public Member Functions inherited from CommandHandlerFunctor
 CommandHandlerFunctor (uint32_t familyId, uint32_t packetId, uint32_t version)
 
uint32_t GetFamilyId () const
 
uint32_t GetPacketId () const
 
uint32_t GetVersion () const
 
virtual ~CommandHandlerFunctor ()
 

Detailed Description

Constructor & Destructor Documentation

◆ DeactivateTimelineReportingCommandHandler()

DeactivateTimelineReportingCommandHandler ( uint32_t  familyId,
uint32_t  packetId,
uint32_t  version,
std::atomic< bool > &  timelineReporting,
ProfilingStateMachine profilingStateMachine,
INotifyBackends notifyBackends 
)
inline

Definition at line 23 of file DeactivateTimelineReportingCommandHandler.hpp.

References DeactivateTimelineReportingCommandHandler::operator()().

29  : CommandHandlerFunctor(familyId, packetId, version)
30  , m_TimelineReporting(timelineReporting)
31  , m_StateMachine(profilingStateMachine)
32  , m_BackendNotifier(notifyBackends)
33  {}
CommandHandlerFunctor(uint32_t familyId, uint32_t packetId, uint32_t version)

Member Function Documentation

◆ operator()()

void operator() ( const Packet &  packet)
overridevirtual

Implements CommandHandlerFunctor.

Definition at line 18 of file DeactivateTimelineReportingCommandHandler.cpp.

References armnn::profiling::Active, ProfilingStateMachine::GetCurrentState(), armnn::profiling::GetProfilingStateName(), armnn::profiling::NotConnected, INotifyBackends::NotifyBackendsForTimelineReporting(), armnn::profiling::Uninitialised, and armnn::profiling::WaitingForAck.

Referenced by DeactivateTimelineReportingCommandHandler::DeactivateTimelineReportingCommandHandler().

19 {
20  ProfilingState currentState = m_StateMachine.GetCurrentState();
21 
22  switch ( currentState )
23  {
27  throw RuntimeException(boost::str(
28  boost::format("Deactivate Timeline Reporting Command Handler invoked while in a wrong state: %1%")
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(boost::str(boost::format("Unknown profiling service state: %1%")
46  % static_cast<int>(currentState)));
47  }
48 }
virtual void NotifyBackendsForTimelineReporting()=0
Base class for all ArmNN exceptions so that users can filter to just those.
Definition: Exceptions.hpp:46
constexpr char const * GetProfilingStateName(ProfilingState state)

The documentation for this class was generated from the following files: