22 #ifndef ESI_BACKENDS_COSIM_H
23 #define ESI_BACKENDS_COSIM_H
57 std::filesystem::path traceFile);
62 static std::unique_ptr<AcceleratorConnection>
70 std::map<std::string, ChannelPort &>
80 std::unique_ptr<Impl>
impl;
Abstract class representing a connection to an accelerator.
services::Service Service
Bundles represent a collection of channels.
AcceleratorConnections, Accelerators, and Manifests must all share a context.
Connect to an ESI simulation.
std::unique_ptr< Impl > impl
TraceAccelerator(Context &, Mode mode, std::filesystem::path manifestJson, std::filesystem::path traceFile)
Create a trace-based accelerator backend.
~TraceAccelerator() override
virtual Service * createService(Service::Type service, AppIDPath idPath, std::string implName, const ServiceImplDetails &details, const HWClientDetails &clients) override
Called by getServiceImpl exclusively.
static std::unique_ptr< AcceleratorConnection > connect(Context &, std::string connectionString)
Parse the connection string and instantiate the accelerator.
std::map< std::string, ChannelPort & > requestChannelsFor(AppIDPath, const BundleType *) override
Request the host side channel ports for a particular instance (identified by the AppID path).
const std::type_info & Type
std::map< std::string, std::any > ServiceImplDetails
std::vector< HWClientDetail > HWClientDetails