ArmNN
 20.02
ConnectionAcknowledgedCommandHandler Class Referencefinal

#include <ConnectionAcknowledgedCommandHandler.hpp>

Inheritance diagram for ConnectionAcknowledgedCommandHandler:
CommandHandlerFunctor

Public Member Functions

 ConnectionAcknowledgedCommandHandler (uint32_t familyId, uint32_t packetId, uint32_t version, ICounterDirectory &counterDirectory, ISendCounterPacket &sendCounterPacket, ISendTimelinePacket &sendTimelinePacket, 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 20 of file ConnectionAcknowledgedCommandHandler.hpp.

Constructor & Destructor Documentation

◆ ConnectionAcknowledgedCommandHandler()

ConnectionAcknowledgedCommandHandler ( uint32_t  familyId,
uint32_t  packetId,
uint32_t  version,
ICounterDirectory counterDirectory,
ISendCounterPacket sendCounterPacket,
ISendTimelinePacket sendTimelinePacket,
ProfilingStateMachine profilingStateMachine 
)
inline

Definition at line 24 of file ConnectionAcknowledgedCommandHandler.hpp.

References ConnectionAcknowledgedCommandHandler::operator()().

31  : CommandHandlerFunctor(familyId, packetId, version)
32  , m_CounterDirectory(counterDirectory)
33  , m_SendCounterPacket(sendCounterPacket)
34  , m_SendTimelinePacket(sendTimelinePacket)
35  , m_StateMachine(profilingStateMachine)
36  {}
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 ConnectionAcknowledgedCommandHandler.cpp.

References armnn::profiling::Active, ProfilingStateMachine::GetCurrentState(), Packet::GetPacketFamily(), Packet::GetPacketId(), armnn::profiling::GetProfilingStateName(), armnn::profiling::NotConnected, ISendCounterPacket::SendCounterDirectoryPacket(), ISendTimelinePacket::SendTimelineMessageDirectoryPackage(), ProfilingStateMachine::TransitionToState(), armnn::profiling::Uninitialised, and armnn::profiling::WaitingForAck.

Referenced by ConnectionAcknowledgedCommandHandler::ConnectionAcknowledgedCommandHandler().

19 {
20  ProfilingState currentState = m_StateMachine.GetCurrentState();
21  switch (currentState)
22  {
25  throw RuntimeException(boost::str(boost::format("Connection Acknowledged Command Handler invoked while in an "
26  "wrong state: %1%")
27  % GetProfilingStateName(currentState)));
29  // Process the packet
30  if (!(packet.GetPacketFamily() == 0u && packet.GetPacketId() == 1u))
31  {
32  throw armnn::InvalidArgumentException(boost::str(boost::format("Expected Packet family = 0, id = 1 but "
33  "received family = %1%, id = %2%")
34  % packet.GetPacketFamily()
35  % packet.GetPacketId()));
36  }
37 
38  // Once a Connection Acknowledged packet has been received, move to the Active state immediately
40  // Send the counter directory packet.
41  m_SendCounterPacket.SendCounterDirectoryPacket(m_CounterDirectory);
42  m_SendTimelinePacket.SendTimelineMessageDirectoryPackage();
43 
44  break;
46  return; // NOP
47  default:
48  throw RuntimeException(boost::str(boost::format("Unknown profiling service state: %1%")
49  % static_cast<int>(currentState)));
50  }
51 }
void TransitionToState(ProfilingState newState)
virtual void SendCounterDirectoryPacket(const ICounterDirectory &counterDirectory)=0
Create and write a CounterDirectoryPacket from the parameters to the buffer.
virtual void SendTimelineMessageDirectoryPackage()=0
Create and write a TimelineMessageDirectoryPackage in the buffer.
constexpr char const * GetProfilingStateName(ProfilingState state)

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