CIRCT 24.0.0git
Loading...
Searching...
No Matches
esi::backends::trace::TraceAccelerator::Impl Struct Reference
Collaboration diagram for esi::backends::trace::TraceAccelerator::Impl:

Public Member Functions

 Impl (Mode mode, std::filesystem::path manifestJson, std::filesystem::path traceFile)
 ~Impl ()
Service * createService (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 40 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()

Definition at line 62 of file Trace.cpp.

References traceWrite.

Member Function Documentation

◆ adoptChannelPort()

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

Definition at line 73 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 )

References TraceAccelerator.

◆ isWriteable()

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

Definition at line 82 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 91 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 77 of file Trace.cpp.

References assert(), and traceWrite.

◆ TraceAccelerator

friend class TraceAccelerator
friend

Definition at line 41 of file Trace.cpp.

References TraceAccelerator.

Referenced by createService(), and TraceAccelerator.

Member Data Documentation

◆ channels

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

Definition at line 88 of file Trace.cpp.

Referenced by adoptChannelPort().

◆ manifestJson

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

Definition at line 86 of file Trace.cpp.

Referenced by Impl().

◆ traceFile

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

Definition at line 87 of file Trace.cpp.

Referenced by Impl().

◆ traceWrite

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

Definition at line 85 of file Trace.cpp.

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


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