ArmNN
 20.02
ProfilingConnectionFactory Class Referencefinal

#include <ProfilingConnectionFactory.hpp>

Inheritance diagram for ProfilingConnectionFactory:
IProfilingConnectionFactory

Public Member Functions

 ProfilingConnectionFactory ()=default
 
 ~ProfilingConnectionFactory ()=default
 
IProfilingConnectionPtr GetProfilingConnection (const ExternalProfilingOptions &options) const override
 
- Public Member Functions inherited from IProfilingConnectionFactory
virtual ~IProfilingConnectionFactory ()
 

Additional Inherited Members

- Public Types inherited from IProfilingConnectionFactory
using ExternalProfilingOptions = IRuntime::CreationOptions::ExternalProfilingOptions
 
using IProfilingConnectionPtr = std::unique_ptr< IProfilingConnection >
 

Detailed Description

Definition at line 16 of file ProfilingConnectionFactory.hpp.

Constructor & Destructor Documentation

◆ ProfilingConnectionFactory()

◆ ~ProfilingConnectionFactory()

Member Function Documentation

◆ GetProfilingConnection()

std::unique_ptr< IProfilingConnection > GetProfilingConnection ( const ExternalProfilingOptions options) const
overridevirtual

Implements IProfilingConnectionFactory.

Definition at line 18 of file ProfilingConnectionFactory.cpp.

References options.

20 {
21  // We can create 3 different types of IProfilingConnection.
22  // 1: If no relevant options are specified then a SocketProfilingConnection is returned.
23  // 2: If both incoming and outgoing capture files are specified then a SocketProfilingConnection decorated by a
24  // ProfilingConnectionDumpToFileDecorator is returned.
25  // 3: If both incoming and outgoing capture files are specified and "file only" then a FileOnlyProfilingConnection
26  // decorated by a ProfilingConnectionDumpToFileDecorator is returned.
27  if ((!options.m_IncomingCaptureFile.empty() || !options.m_OutgoingCaptureFile.empty()) && !options.m_FileOnly)
28  {
29  // This is type 2.
30  return std::make_unique<ProfilingConnectionDumpToFileDecorator>(std::make_unique<SocketProfilingConnection>(),
31  options);
32  }
33  else if ((!options.m_IncomingCaptureFile.empty() || !options.m_OutgoingCaptureFile.empty()) && options.m_FileOnly)
34  {
35  // This is type 3.
36  return std::make_unique<ProfilingConnectionDumpToFileDecorator>(
37  std::make_unique<FileOnlyProfilingConnection>(options), options);
38  }
39  else
40  {
41  // This is type 1.
42  return std::make_unique<SocketProfilingConnection>();
43  }
44 }
armnn::Runtime::CreationOptions::ExternalProfilingOptions options

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