CIRCT 21.0.0git
|
A function call which gets attached to a service port. More...
#include <Services.h>
Public Member Functions | |
void | connect () |
std::future< MessageData > | call (const MessageData &arg) |
virtual std::optional< std::string > | toString () const override |
![]() | |
virtual | ~ServicePort ()=default |
BundlePort (AppID id, const BundleType *type, PortMap channels) | |
Construct a port. | |
![]() | |
BundlePort (AppID id, const BundleType *type, PortMap channels) | |
Construct a port. | |
virtual | ~BundlePort ()=default |
AppID | getID () const |
Get the ID of the port. | |
WriteChannelPort & | getRawWrite (const std::string &name) const |
Get access to the raw byte streams of a channel. | |
ReadChannelPort & | getRawRead (const std::string &name) const |
const PortMap & | getChannels () const |
template<typename T > | |
T * | getAs () const |
Cast this Bundle port to a subclass which is actually useful. | |
bool | poll () |
Calls poll on all channels in the bundle and returns true if any of them returned true. | |
Static Public Member Functions | |
static Function * | get (AppID id, BundleType *type, WriteChannelPort &arg, ReadChannelPort &result) |
![]() | |
static bool | isWrite (BundleType::Direction bundleDir) |
Compute the direction of a channel given the bundle direction and the bundle port's direction. | |
Private Attributes | |
std::mutex | callMutex |
WriteChannelPort * | arg |
ReadChannelPort * | result |
Friends | |
class | FuncService |
Additional Inherited Members | |
![]() | |
AppID | id |
const BundleType * | type |
PortMap | channels |
A function call which gets attached to a service port.
Definition at line 262 of file Services.h.
std::future< MessageData > FuncService::Function::call | ( | const MessageData & | arg | ) |
Definition at line 212 of file Services.cpp.
Referenced by esiaccel.types.FunctionPort::__call__().
void FuncService::Function::connect | ( | ) |
Definition at line 202 of file Services.cpp.
Referenced by PYBIND11_MODULE().
|
static |
Definition at line 194 of file Services.cpp.
References arg, result, and esi::BundlePort::type.
|
inlineoverridevirtual |
Reimplemented from esi::services::ServicePort.
Definition at line 273 of file Services.h.
References esi::BundleType::findChannel(), esi::Type::getID(), and esi::BundlePort::type.
|
friend |
Definition at line 263 of file Services.h.
|
private |
Definition at line 285 of file Services.h.
Referenced by get().
|
private |
Definition at line 284 of file Services.h.
|
private |
Definition at line 286 of file Services.h.
Referenced by get().