CIRCT 21.0.0git
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | Friends | List of all members
esi::backends::trace::TraceAccelerator::Impl Struct Reference
Collaboration diagram for esi::backends::trace::TraceAccelerator::Impl:
Collaboration graph
[legend]

Public Member Functions

 Impl (Mode mode, std::filesystem::path manifestJson, std::filesystem::path traceFile)
 
 ~Impl ()
 
ServicecreateService (TraceAccelerator &conn, Service::Type svcType, AppIDPath idPath, const ServiceImplDetails &details, const HWClientDetails &clients)
 
void adoptChannelPort (ChannelPort *port)
 
void write (const AppIDPath &id, const std::string &portName, const void *data, size_t size, const std::string &prefix="")
 
std::ostream & write (std::string service)
 
bool isWriteable ()
 

Private Attributes

std::ofstream * traceWrite
 
std::filesystem::path manifestJson
 
std::filesystem::path traceFile
 
std::vector< std::unique_ptr< ChannelPort > > channels
 

Friends

class TraceAccelerator
 

Detailed Description

Definition at line 41 of file Trace.cpp.

Constructor & Destructor Documentation

◆ Impl()

esi::backends::trace::TraceAccelerator::Impl::Impl ( Mode  mode,
std::filesystem::path  manifestJson,
std::filesystem::path  traceFile 
)
inline

◆ ~Impl()

esi::backends::trace::TraceAccelerator::Impl::~Impl ( )
inline

Definition at line 63 of file Trace.cpp.

References traceWrite.

Member Function Documentation

◆ adoptChannelPort()

void esi::backends::trace::TraceAccelerator::Impl::adoptChannelPort ( ChannelPort port)
inline

Definition at line 74 of file Trace.cpp.

References channels.

◆ createService()

Service * esi::backends::trace::TraceAccelerator::Impl::createService ( TraceAccelerator conn,
Service::Type  svcType,
AppIDPath  idPath,
const ServiceImplDetails details,
const HWClientDetails clients 
)

◆ isWriteable()

bool esi::backends::trace::TraceAccelerator::Impl::isWriteable ( )
inline

Definition at line 83 of file Trace.cpp.

References traceWrite.

Referenced by write().

◆ write() [1/2]

void TraceAccelerator::Impl::write ( const AppIDPath id,
const std::string &  portName,
const void *  data,
size_t  size,
const std::string &  prefix = "" 
)

Definition at line 92 of file Trace.cpp.

References esi::utils::encodeBase64(), isWriteable(), and traceWrite.

◆ write() [2/2]

std::ostream & esi::backends::trace::TraceAccelerator::Impl::write ( std::string  service)
inline

Definition at line 78 of file Trace.cpp.

References assert(), and traceWrite.

Friends And Related Symbol Documentation

◆ TraceAccelerator

friend class TraceAccelerator
friend

Definition at line 42 of file Trace.cpp.

Member Data Documentation

◆ channels

std::vector<std::unique_ptr<ChannelPort> > esi::backends::trace::TraceAccelerator::Impl::channels
private

Definition at line 89 of file Trace.cpp.

Referenced by adoptChannelPort().

◆ manifestJson

std::filesystem::path esi::backends::trace::TraceAccelerator::Impl::manifestJson
private

Definition at line 87 of file Trace.cpp.

Referenced by Impl().

◆ traceFile

std::filesystem::path esi::backends::trace::TraceAccelerator::Impl::traceFile
private

Definition at line 88 of file Trace.cpp.

Referenced by Impl().

◆ traceWrite

std::ofstream* esi::backends::trace::TraceAccelerator::Impl::traceWrite
private

Definition at line 86 of file Trace.cpp.

Referenced by Impl(), isWriteable(), write(), write(), and ~Impl().


The documentation for this struct was generated from the following file: