CIRCT  19.0.0git
Public Member Functions | Private Attributes | 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, filesystem::path manifestJson, filesystem::path traceFile)
 
 ~Impl ()
 
ServicecreateService (Service::Type svcType, AppIDPath idPath, const ServiceImplDetails &details, const HWClientDetails &clients)
 
std::map< std::string, ChannelPort & > requestChannelsFor (AppIDPath, const BundleType *)
 Request the host side channel ports for a particular instance (identified by the AppID path). More...
 
void adoptChannelPort (ChannelPort *port)
 
void write (const AppIDPath &id, const string &portName, const void *data, size_t size)
 

Private Attributes

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

Detailed Description

Definition at line 40 of file Trace.cpp.

Constructor & Destructor Documentation

◆ Impl()

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

Definition at line 41 of file Trace.cpp.

References assert().

◆ ~Impl()

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

Definition at line 58 of file Trace.cpp.

Member Function Documentation

◆ adoptChannelPort()

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

Definition at line 75 of file Trace.cpp.

Referenced by requestChannelsFor().

◆ createService()

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

Definition at line 248 of file Trace.cpp.

◆ requestChannelsFor()

map< string, ChannelPort & > TraceAccelerator::Impl::requestChannelsFor ( AppIDPath  idPath,
const BundleType bundleType 
)

Request the host side channel ports for a particular instance (identified by the AppID path).

For convenience, provide the bundle type and direction of the bundle port.

Definition at line 226 of file Trace.cpp.

References adoptChannelPort(), channels, esi::BundleType::getChannels(), and esi::BundlePort::isWrite().

◆ write()

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

Definition at line 87 of file Trace.cpp.

References esi::utils::encodeBase64().

Member Data Documentation

◆ channels

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

Definition at line 84 of file Trace.cpp.

Referenced by requestChannelsFor().

◆ manifestJson

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

Definition at line 82 of file Trace.cpp.

◆ traceFile

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

Definition at line 83 of file Trace.cpp.

◆ traceWrite

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

Definition at line 81 of file Trace.cpp.


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