ArmNN
 20.05
PerJobCounterSelectionCommandHandler Class Reference

#include <PerJobCounterSelectionCommandHandler.hpp>

Inheritance diagram for PerJobCounterSelectionCommandHandler:
CommandHandlerFunctor

Public Member Functions

 PerJobCounterSelectionCommandHandler (uint32_t familyId, uint32_t packetId, uint32_t version, const ProfilingStateMachine &profilingStateMachine)
 
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

Definition at line 18 of file PerJobCounterSelectionCommandHandler.hpp.

Constructor & Destructor Documentation

◆ PerJobCounterSelectionCommandHandler()

PerJobCounterSelectionCommandHandler ( uint32_t  familyId,
uint32_t  packetId,
uint32_t  version,
const ProfilingStateMachine profilingStateMachine 
)
inline

Definition at line 22 of file PerJobCounterSelectionCommandHandler.hpp.

References PerJobCounterSelectionCommandHandler::operator()().

26  : CommandHandlerFunctor(familyId, packetId, version)
27  , m_StateMachine(profilingStateMachine)
28  {}
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 16 of file PerJobCounterSelectionCommandHandler.cpp.

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

Referenced by PerJobCounterSelectionCommandHandler::PerJobCounterSelectionCommandHandler().

17 {
18  ProfilingState currentState = m_StateMachine.GetCurrentState();
19  switch (currentState)
20  {
24  throw RuntimeException(boost::str(boost::format("Per-Job Counter Selection Command Handler invoked while in "
25  "an wrong state: %1%")
26  % GetProfilingStateName(currentState)));
28  // Process the packet
29  if (!(packet.GetPacketFamily() == 0u && packet.GetPacketId() == 5u))
30  {
31  throw armnn::InvalidArgumentException(boost::str(boost::format("Expected Packet family = 0, id = 5 but "
32  "received family = %1%, id = %2%")
33  % packet.GetPacketFamily()
34  % packet.GetPacketId()));
35  }
36 
37  // Silently drop the packet
38 
39  break;
40  default:
41  throw RuntimeException(boost::str(boost::format("Unknown profiling service state: %1%")
42  % static_cast<int>(currentState)));
43  }
44 }
constexpr char const * GetProfilingStateName(ProfilingState state)

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