Loading [MathJax]/extensions/tex2jax.js
CIRCT 21.0.0git
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
esi::services::TelemetryService::Telemetry Class Reference

A telemetry port which gets attached to a service port. More...

#include <Services.h>

Inheritance diagram for esi::services::TelemetryService::Telemetry:
Inheritance graph
[legend]
Collaboration diagram for esi::services::TelemetryService::Telemetry:
Collaboration graph
[legend]

Public Member Functions

void connect ()
 Connect to a particular telemetry port.
 
std::future< MessageDataread ()
 
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.
 
WriteChannelPortgetRawWrite (const std::string &name) const
 Get access to the raw byte streams of a channel.
 
ReadChannelPortgetRawRead (const std::string &name) const
 
const PortMapgetChannels () 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 Telemetryget (AppID id, BundleType *type, WriteChannelPort &get, ReadChannelPort &data)
 
- 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 Member Functions

 Telemetry (AppID id, const BundleType *type, PortMap channels)
 

Private Attributes

WriteChannelPortget_req
 
ReadChannelPortdata
 

Friends

class TelemetryService
 

Additional Inherited Members

- Protected Attributes inherited from esi::BundlePort
AppID id
 
const BundleTypetype
 
PortMap channels
 

Detailed Description

A telemetry port which gets attached to a service port.

Definition at line 353 of file Services.h.

Constructor & Destructor Documentation

◆ Telemetry()

TelemetryService::Telemetry::Telemetry ( AppID  id,
const BundleType type,
PortMap  channels 
)
private

Definition at line 287 of file Services.cpp.

Member Function Documentation

◆ connect()

void TelemetryService::Telemetry::connect ( )

Connect to a particular telemetry port.

The bundle should have two channels – get and data. Get should have type 'i0' and data can be anything.

Definition at line 299 of file Services.cpp.

Referenced by hostmemTest(), and PYBIND11_MODULE().

◆ get()

TelemetryService::Telemetry * TelemetryService::Telemetry::get ( AppID  id,
BundleType type,
WriteChannelPort get,
ReadChannelPort data 
)
static

Definition at line 292 of file Services.cpp.

◆ read()

std::future< MessageData > TelemetryService::Telemetry::read ( )

Definition at line 313 of file Services.cpp.

References empty.

Referenced by hostmemTest(), and PYBIND11_MODULE().

◆ toString()

virtual std::optional< std::string > esi::services::TelemetryService::Telemetry::toString ( ) const
inlineoverridevirtual

Reimplemented from esi::services::ServicePort.

Definition at line 364 of file Services.h.

References esi::BundleType::findChannel(), esi::Type::getID(), and esi::BundlePort::type.

Friends And Related Symbol Documentation

◆ TelemetryService

friend class TelemetryService
friend

Definition at line 354 of file Services.h.

Member Data Documentation

◆ data

ReadChannelPort* esi::services::TelemetryService::Telemetry::data
private

Definition at line 373 of file Services.h.

◆ get_req

WriteChannelPort* esi::services::TelemetryService::Telemetry::get_req
private

Definition at line 372 of file Services.h.


The documentation for this class was generated from the following files: