ArmNN
 22.08
RequestCountersPacketHandler Class Reference

#include <RequestCountersPacketHandler.hpp>

Inheritance diagram for RequestCountersPacketHandler:

Public Member Functions

 RequestCountersPacketHandler (uint32_t capturePeriod=arm::pipe::LOWEST_CAPTURE_PERIOD)
 
std::vector< uint32_t > GetHeadersAccepted () override
 
void HandlePacket (const arm::pipe::Packet &packet) override
 
void SetConnection (IInternalProfilingConnection *profilingConnection) override
 

Detailed Description

Definition at line 21 of file RequestCountersPacketHandler.hpp.

Constructor & Destructor Documentation

◆ RequestCountersPacketHandler()

RequestCountersPacketHandler ( uint32_t  capturePeriod = arm::pipe::LOWEST_CAPTURE_PERIOD)
inlineexplicit

Definition at line 24 of file RequestCountersPacketHandler.hpp.

References RequestCountersPacketHandler::GetHeadersAccepted(), and RequestCountersPacketHandler::HandlePacket().

24  :
25  m_CapturePeriod(capturePeriod),
26  m_Connection(nullptr),
27  m_CounterDirectoryMessageHeader(ConstructHeader(0, 2)) {}

Member Function Documentation

◆ GetHeadersAccepted()

std::vector< uint32_t > GetHeadersAccepted ( )
override

Definition at line 20 of file RequestCountersPacketHandler.cpp.

Referenced by RequestCountersPacketHandler::RequestCountersPacketHandler().

21 {
22  std::vector<uint32_t> headers;
23  headers.push_back(m_CounterDirectoryMessageHeader); // counter directory
24  return headers;
25 }

◆ HandlePacket()

void HandlePacket ( const arm::pipe::Packet &  packet)
override

Definition at line 27 of file RequestCountersPacketHandler.cpp.

References armnn::numeric_cast().

Referenced by RequestCountersPacketHandler::RequestCountersPacketHandler().

28 {
29  if (packet.GetHeader() != m_CounterDirectoryMessageHeader)
30  {
31  return;
32  }
33  arm::pipe::PacketVersionResolver packetVersionResolver;
34  DirectoryCaptureCommandHandler directoryCaptureCommandHandler(
35  "ARMNN", 0, 2, packetVersionResolver.ResolvePacketVersion(0, 2).GetEncodedValue());
36  directoryCaptureCommandHandler.operator()(packet);
37  const ICounterDirectory& counterDirectory = directoryCaptureCommandHandler.GetCounterDirectory();
38  for (auto& category : counterDirectory.GetCategories())
39  {
40  // Remember we need to translate the Uid's from our CounterDirectory instance to the parent one.
41  std::vector<uint16_t> translatedCounters;
42  for (auto const& copyUid : category->m_Counters)
43  {
44  translatedCounters.emplace_back(directoryCaptureCommandHandler.TranslateUIDCopyToOriginal(copyUid));
45  }
46  m_IdList.insert(std::end(m_IdList), std::begin(translatedCounters), std::end(translatedCounters));
47  }
48  SendCounterSelectionPacket();
49 }

◆ SetConnection()

void SetConnection ( IInternalProfilingConnection *  profilingConnection)
inlineoverride

Definition at line 33 of file RequestCountersPacketHandler.hpp.

34  {
35  m_Connection = profilingConnection;
36  }

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