|
CIRCT 22.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) |
| const esi::Type * | getArgType () const |
| const esi::Type * | getResultType () const |
| virtual std::optional< std::string > | toString () const override |
Public Member Functions inherited from esi::services::ServicePort | |
| virtual | ~ServicePort ()=default |
| BundlePort (AppID id, const BundleType *type, PortMap channels) | |
| Construct a port. | |
Public Member Functions inherited from esi::BundlePort | |
| 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 Public Member Functions inherited from esi::BundlePort | |
| 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 |
| bool | connected = false |
Friends | |
| class | FuncService |
Additional Inherited Members | |
Protected Attributes inherited from esi::BundlePort | |
| AppID | id |
| const BundleType * | type |
| PortMap | channels |
A function call which gets attached to a service port.
Definition at line 263 of file Services.h.
| std::future< MessageData > FuncService::Function::call | ( | const MessageData & | arg | ) |
Definition at line 218 of file Services.cpp.
Referenced by esiaccel.types.FunctionPort::__call__().
| void FuncService::Function::connect | ( | ) |
Definition at line 205 of file Services.cpp.
Referenced by PYBIND11_MODULE().
|
static |
Definition at line 197 of file Services.cpp.
References arg, result, and esi::BundlePort::type.
|
inline |
Definition at line 274 of file Services.h.
References esi::BundleType::findChannel(), and esi::BundlePort::type.
Referenced by toString().
|
inline |
Definition at line 279 of file Services.h.
References esi::BundleType::findChannel(), and esi::BundlePort::type.
Referenced by toString().
|
inlineoverridevirtual |
Reimplemented from esi::services::ServicePort.
Definition at line 285 of file Services.h.
References getArgType(), esi::Type::getID(), and getResultType().
|
friend |
Definition at line 264 of file Services.h.
|
private |
Definition at line 293 of file Services.h.
Referenced by get().
|
private |
Definition at line 292 of file Services.h.
|
private |
Definition at line 295 of file Services.h.
Referenced by esiaccel.types.FunctionPort::connect(), esiaccel.types.TelemetryPort::connect(), and esiaccel.types.CallbackPort::connect().
|
private |
Definition at line 294 of file Services.h.
Referenced by get().