IceFlow NDN-based stream processing library written in C++
|
#include <iceflow.hpp>
Public Member Functions | |
IceFlow (DAGParser dagParser, const std::string &nodeName, ndn::Face &face) | |
IceFlow (DAGParser dagParser, const std::string &nodeName, ndn::Face &face, std::shared_ptr< CongestionReporter > congestionReporter) | |
IceFlow (const std::string &dagFileName, const std::string &nodeName, ndn::Face &face) | |
IceFlow (const std::string &dagFileName, const std::string &nodeName, ndn::Face &face, std::shared_ptr< CongestionReporter > congestionReporter) | |
void | run () |
void | shutdown () |
const std::string & | getNodePrefix () |
const std::string & | getSyncPrefix () |
void | pushData (const std::string &downstreamEdgeName, std::vector< uint8_t > payload) |
void | registerConsumerCallback (const std::string &upstreamEdgeName, ConsumerCallback consumerCallback) |
void | registerProsumerCallback (const std::string &upstreamEdgeName, ProsumerCallback prosumerCallback) |
void | repartitionConsumer (const std::string &upstreamEdgeName, std::vector< uint32_t > partitions) |
void | repartitionProducer (const std::string &downstreamEdgeName, uint64_t numberOfPartitions) |
std::unordered_map< std::string, EdgeConsumptionStats > | getConsumerStats () |
std::unordered_map< std::string, EdgeProductionStats > | getProducerStats () |
void | reportCongestion (const std::string &edgeName, CongestionReason congestionReason) |
std::vector< Edge > | getDownstreamEdges () |
std::optional< Edge > | getDownstreamEdge (uint32_t index) |
std::vector< Edge > | getUpstreamEdges () |
std::optional< Edge > | getUpstreamEdge (uint32_t index) |
nlohmann::json::object_t | getApplicationConfiguration () |
template<typename T > | |
std::optional< T > | getApplicationParameter (const std::string &key) |
Central building block for IceFlow-based consumers and producers.
Will act as a consumer if a subTopic
is defined and act as a consumer if a pubTopic
is defined. If both topics are passed to the constructor, the instantiated IceFlow object will act both as a producer and a consumer.
iceflow::IceFlow::IceFlow | ( | DAGParser | dagParser, |
const std::string & | nodeName, | ||
ndn::Face & | face ) |
Generates a new IceFlow object from a dagParser
, a nodeName
, and a custom face
.