|
CIRCT 22.0.0git
|
TODO: make this a proper backend (as much as possible). More...
#include <RpcServer.h>

Classes | |
| class | Impl |
Public Member Functions | |
| RpcServer (Context &ctxt) | |
| ~RpcServer () | |
| Context & | getContext () |
| Get the context. | |
| void | setManifest (int esiVersion, const std::vector< uint8_t > &compressedManifest) |
| Set the manifest and version. | |
| ReadChannelPort & | registerReadPort (const std::string &name, const std::string &type) |
| Register a read or write port which communicates over RPC. | |
| WriteChannelPort & | registerWritePort (const std::string &name, const std::string &type) |
| void | stop () |
| void | run (int port=-1) |
| int | getPort () |
Private Attributes | |
| Context & | ctxt |
| std::unique_ptr< Impl > | impl |
TODO: make this a proper backend (as much as possible).
Definition at line 26 of file RpcServer.h.
| RpcServer::RpcServer | ( | Context & | ctxt | ) |
Definition at line 362 of file RpcServer.cpp.
|
default |
|
inline |
| int RpcServer::getPort | ( | ) |
Definition at line 395 of file RpcServer.cpp.
References impl.
| ReadChannelPort & RpcServer::registerReadPort | ( | const std::string & | name, |
| const std::string & | type | ||
| ) |
Register a read or write port which communicates over RPC.
Definition at line 373 of file RpcServer.cpp.
References impl.
| WriteChannelPort & RpcServer::registerWritePort | ( | const std::string & | name, |
| const std::string & | type | ||
| ) |
Definition at line 380 of file RpcServer.cpp.
References impl.
| void RpcServer::run | ( | int | port = -1 | ) |
Definition at line 384 of file RpcServer.cpp.
| void RpcServer::setManifest | ( | int | esiVersion, |
| const std::vector< uint8_t > & | compressedManifest | ||
| ) |
Set the manifest and version.
There is a race condition here in that the RPC server can be started and a connection from the client could happen before the manifest is set. TODO: rework the DPI API to require that the manifest gets set first.
Definition at line 365 of file RpcServer.cpp.
References impl.
| void RpcServer::stop | ( | ) |
Definition at line 389 of file RpcServer.cpp.
References impl.
|
private |
Definition at line 60 of file RpcServer.h.
Referenced by getContext(), esiaccel.accelerator.AcceleratorConnection::manifest(), and run().
|
private |
Definition at line 61 of file RpcServer.h.
Referenced by getPort(), registerReadPort(), registerWritePort(), run(), setManifest(), and stop().