CIRCT 21.0.0git
|
A function call which gets attached to a service port. More...
#include <Services.h>
Public Member Functions | |
void | connect (std::function< MessageData(const MessageData &)> callback, bool quick=false) |
Connect a callback to code which will be executed when the accelerator invokes the callback. | |
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 Callback * | get (AcceleratorConnection &acc, AppID id, BundleType *type, WriteChannelPort &result, ReadChannelPort &arg) |
![]() | |
static bool | isWrite (BundleType::Direction bundleDir) |
Compute the direction of a channel given the bundle direction and the bundle port's direction. | |
Private Member Functions | |
Callback (AcceleratorConnection &acc, AppID id, const BundleType *, PortMap channels) | |
Private Attributes | |
ReadChannelPort * | arg |
WriteChannelPort * | result |
AcceleratorConnection & | acc |
Friends | |
class | CallService |
Additional Inherited Members | |
![]() | |
AppID | id |
const BundleType * | type |
PortMap | channels |
A function call which gets attached to a service port.
Definition at line 304 of file Services.h.
|
private |
Definition at line 233 of file Services.cpp.
void CallService::Callback::connect | ( | std::function< MessageData(const MessageData &)> | callback, |
bool | quick = false |
||
) |
Connect a callback to code which will be executed when the accelerator invokes the callback.
The 'quick' flag indicates that the callback is sufficiently fast that it could be called in the same thread as the port callback.
Definition at line 244 of file Services.cpp.
Referenced by registerCallbacks().
|
static |
Definition at line 237 of file Services.cpp.
|
inlineoverridevirtual |
Reimplemented from esi::services::ServicePort.
Definition at line 320 of file Services.h.
References esi::BundleType::findChannel(), esi::Type::getID(), and esi::BundlePort::type.
|
friend |
Definition at line 305 of file Services.h.
|
private |
Definition at line 333 of file Services.h.
|
private |
Definition at line 331 of file Services.h.
|
private |
Definition at line 332 of file Services.h.