|
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 (uint32_t timeoutMS=0) |
| 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 385 of file RpcServer.cpp.
|
default |
|
inline |
| int RpcServer::getPort | ( | ) |
Definition at line 418 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 396 of file RpcServer.cpp.
References impl.
| WriteChannelPort & RpcServer::registerWritePort | ( | const std::string & | name, |
| const std::string & | type | ||
| ) |
Definition at line 403 of file RpcServer.cpp.
References impl.
| void RpcServer::run | ( | int | port = -1 | ) |
Definition at line 407 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 388 of file RpcServer.cpp.
References impl.
| void RpcServer::stop | ( | uint32_t | timeoutMS = 0 | ) |
Definition at line 412 of file RpcServer.cpp.
References impl.
|
private |
Definition at line 66 of file RpcServer.h.
Referenced by getContext(), esiaccel.accelerator.AcceleratorConnection::manifest(), and run().
|
private |
Definition at line 67 of file RpcServer.h.
Referenced by getPort(), registerReadPort(), registerWritePort(), run(), setManifest(), and stop().