CIRCT 20.0.0git
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
esi::backends::cosim::CosimEngine Class Reference

Implement the magic cosim channel communication. More...

Inheritance diagram for esi::backends::cosim::CosimEngine:
Inheritance graph
[legend]
Collaboration diagram for esi::backends::cosim::CosimEngine:
Collaboration graph
[legend]

Public Member Functions

 CosimEngine (CosimAccelerator &conn, AppIDPath idPath, const ServiceImplDetails &details, const HWClientDetails &clients)
 
std::unique_ptr< ChannelPortcreatePort (AppIDPath idPath, const std::string &channelName, BundleType::Direction dir, const Type *type) override
 Each engine needs to know how to create a ports.
 
- Public Member Functions inherited from esi::Engine
virtual ~Engine ()=default
 
virtual void connect ()
 Start the engine, if applicable.
 
virtual void disconnect ()
 Stop the engine, if applicable.
 
virtual ChannelPortrequestPort (AppIDPath idPath, const std::string &channelName, BundleType::Direction dir, const Type *type)
 Get a port for a channel, from the cache if it exists or create it.
 

Private Attributes

CosimAcceleratorconn
 
std::map< AppIDPath, std::map< std::string, std::string > > clientChannelAssignments
 

Additional Inherited Members

Detailed Description

Implement the magic cosim channel communication.

Definition at line 575 of file Cosim.cpp.

Constructor & Destructor Documentation

◆ CosimEngine()

esi::backends::cosim::CosimEngine::CosimEngine ( CosimAccelerator conn,
AppIDPath  idPath,
const ServiceImplDetails details,
const HWClientDetails clients 
)
inline

Definition at line 577 of file Cosim.cpp.

References clientChannelAssignments.

Member Function Documentation

◆ createPort()

std::unique_ptr< ChannelPort > CosimEngine::createPort ( AppIDPath  idPath,
const std::string &  channelName,
BundleType::Direction  dir,
const Type type 
)
overridevirtual

Each engine needs to know how to create a ports.

This method is called if a port doesn't exist in the engine cache.

Implements esi::Engine.

Definition at line 609 of file Cosim.cpp.

References clientChannelAssignments, conn, esi::backends::cosim::CosimAccelerator::StubContainer::getChannelDesc(), esi::BundlePort::isWrite(), esi::backends::cosim::CosimAccelerator::rpcClient, esi::backends::cosim::CosimAccelerator::StubContainer::stub, and esi::AppIDPath::toStr().

Member Data Documentation

◆ clientChannelAssignments

std::map<AppIDPath, std::map<std::string, std::string> > esi::backends::cosim::CosimEngine::clientChannelAssignments
private

Definition at line 604 of file Cosim.cpp.

Referenced by CosimEngine(), and createPort().

◆ conn

CosimAccelerator& esi::backends::cosim::CosimEngine::conn
private

Definition at line 602 of file Cosim.cpp.

Referenced by createPort().


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