IceFlow NDN-based stream processing library written in C++
Loading...
Searching...
No Matches
Public Member Functions | List of all members
iceflow::IceFlow Class Reference

#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, EdgeConsumptionStatsgetConsumerStats ()
 
std::unordered_map< std::string, EdgeProductionStatsgetProducerStats ()
 
void reportCongestion (const std::string &edgeName, CongestionReason congestionReason)
 
std::vector< EdgegetDownstreamEdges ()
 
std::optional< EdgegetDownstreamEdge (uint32_t index)
 
std::vector< EdgegetUpstreamEdges ()
 
std::optional< EdgegetUpstreamEdge (uint32_t index)
 
nlohmann::json::object_t getApplicationConfiguration ()
 
template<typename T >
std::optional< T > getApplicationParameter (const std::string &key)
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ IceFlow()

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.


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